




























I guess from above it still wasn't fully clear why PREEMPT_LAZY caused more preemptions than PREEMPT_NONE with THP disabled (or maybe it was obvious for few).
My assumption there is -
With THP disabled, the workload takes many more page faults which serializes on the page table spinlock. This means more preempt_disable() / preempt_enable() pairs for this type of workload. Since preempt_enable() is a preemption point under PREEMPT_LAZY but a no-op under PREEMPT_NONE, maybe this gives far more preemption opportunities under PREEMPT_LAZY (especially since the workload was CPU-intensive and ran well past the scheduler tick that would have escalated TIF_NEED_RESCHED_LAZY to TIF_NEED_RESCHED)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。