Reddit
Linux 7.0 Halved PostgreSQL Throughput: Preemption Regression Explained — 81 Upvotes on r/programming
A detailed write-up explaining how Linux 7.0's removal of PREEMPT_NONE (commit 7dadeaa6e851) halved PostgreSQL benchmark throughput on AWS Graviton4 hit 81 upvotes on r/programming. Under PREEMPT_LAZY, 55% of CPU time goes to spinning on PostgreSQL spinlocks during buffer management. The real culprit is TLB misses and minor page faults while spinlocks are held. Transparent Huge Pages restores throughput on both Linux 6.x and 7.0. PostgreSQL hasn't implemented RSEQ support to properly fix this.
Source
↳ Follow the thread