/note/tech

色々な面でコメントしたくなるな ・カーネル開発者はもう20年ぐらいPostgreSQL開発者にユーザーランド...

色々な面でコメントしたくなるな

・カーネル開発者はもう20年ぐらいPostgreSQL開発者にユーザーランドのspinlockは正気じゃないから考え直して欲しいと繰り返し要求していた

・linux kernel summitにPostgreSQL開発者を招待してディスカッションしたがうまくいかなかった。平行線というよりもPostgreSQL側が今こうなっている、実装したときはそれが一番性能よかったという話に終始していて、会話があまり建設的ではなかったと思う

・記事には「PostgreSQLはプロセスモデルを採用しており、共有メモリ上のデータ構造へのアクセスにユーザースペーススピンロックを多用する。」と書かれているが、マルチプロセスというのとスピンロックでないといけないは論理的につながらないと思う。なにか書き忘れてない?

・記事ではUbuntu 26.04 LTSへの影響を気にしているが、最近のUbuntuはPREEMT_DYNAMICかつデフォルトがpreempt voluntaryなので、影響ないのではないか?元々のバグ報告にあるAmaxonLinux2023はPREEMPT_NONEだから影響有るけど。RHELもRHEL9からPREEMPT_DYNAMICなので影響ないっぽい。SUSEも影響ないっぽいな。なら実質困るのはAmazon Linuxユーザーだけ??

・それはそれとして、PREEMPT_NONEはサーバー用distroで長らく使われてきた決してマイナーではないオプション

・なんだけど、peterはRed Hatにいた時代から -rtチームにいて、PREEMPT_NONEには当たりがキツかった。

どの視点でも面白いディスカッションが出来そうだな、と思ったところで、興味MPが切れたので、ただの感想を投下して逃げる。

おやすみなさい

Linux 7.0でPostgreSQLの性能がほぼ半減。 AWSエンジニアがGraviton4上で実測し、カーネルのプリエンプション変更が原因と特定した。

開発者の回答は「PostgreSQL側で対応しろ」。 リバートの見込みは薄く、Ubuntu 26.04 LTSにはこのまま載る。

カーネルの「改善」がアプリを壊し、修正をアプリ側に求める。

Linux 7.0でPostgreSQL性能半減、修正困難か

@joho_no_todai

@kosaki55tea