Postgres 개발자인 Andres Freund의 LKML 후속 글을 읽어볼 가치가 있음 사용자 공간에서 spinlock을 커널 지원 없이 쓰는 건 성능 저하를 자초하는 일이라는 의견임 “최신 커널을 프로덕션에 쓰는 사람은 없다”는 주장도 있었음 PREEMPT_LAZY에 대한 배경은 LWN 기사에서 확인 가능함 “Jia Tan이 최근 커널 패치를 냈는지 확인해봤냐”는 농담성 댓글이 있었고, PostgreSQL 18의 비동기 I/O와 병렬 쿼리 최적화가 이번 성능 저하를 상쇄할 수 있는지 궁금하다는 의견이 있었음 PREEMPT_LAZY 같은 동적 선점 모드가 왜 필요한지 의문이라는 의견도 있었음 FreeBSD 14와 15.0 사이에서 10% 성능 저하를 측정했는데, 이번 사례를 보니 위안이 된다는 댓글이 있었음 Phoronix가 충분한 검증 없이 기사화했다는 비판도 있었음 오래된 LKML 스레드 링크가 함께 공유되었음Hacker News 의견들
Linux 유지보수자들이 PostgreSQL 같은 핵심 앱을 우선 지원 대상으로 삼아야 한다는 의견임
예전에 Fedora가 Wine 설치 시 업데이트가 막혔던 사례가 떠오름
즉, PostgreSQL을 최신 커널로 올리는 모든 사용자가 겪는 문제는 아님
하지만 futex 기반 락은 메모리 배리어 증가로 인해 성능 회귀가 생김
또한 Postgres는 여전히 8바이트 원자 연산을 지원하지 않는 플랫폼을 고려해야 해서 대체가 어려움
문제의 spinlock은 최근 제거되었고, huge pages 사용 시에는 병목이 거의 사라짐
실제로는 Ubuntu 26.04 LTS가 Linux 7.0 기반으로 곧 출시되므로 많은 사용자가 곧 쓰게 될 것임
현재는 sysctl이 아니라 커널 패치가 필요하다는 점이 문제임
이에 “굳이 그럴 필요도 없다, 이미 취약점이 넘쳐난다”는 답글이 달림
관련 내용은 PostgreSQL 18 릴리스 노트에서 확인 가능함
일반 사용자가 얻는 이점이 불분명하다는 것임
커널이 더 명시적인 정보를 받아 스케줄링 결정을 개선할 수 있게 된다는 것임
후속 메일에서는 벤치마크 자체가 잘못되었고, 실제로는 큰 문제가 아니라는 결론이 나왔음
PostgreSQL에는 큰 문제가 없겠지만, huge pages를 쓸 수 없는 다른 앱에는 영향이 있을 수 있음
그래서 단순히 무시할 일은 아니라는 의견임

4 hours ago
1









English (US) ·