Re: [RFC PATCH v5] sched: Fix performance regression introduced by mm_cid

From: Mathieu Desnoyers
Date: Thu Apr 13 2023 - 11:11:23 EST


On 2023-04-13 10:37, Aaron Lu wrote:
On Thu, Apr 13, 2023 at 10:02:48AM -0400, Mathieu Desnoyers wrote:
Introduce per-mm/cpu current concurrency id (mm_cid) to fix a PostgreSQL
sysbench regression reported by Aaron Lu.
Initial test using postgres_sysbench showed the lock contention is gone :-)
Will check how it affects hackbench tomorrow.

That's good news! Not unexpected though.

One thing to look closely at is whether it's just that the qspinlocks are gone from the profiles but replaced by time spent in __mm_cid_get() due to cache-line bouncing of find-first-zero/test-and-set on the per-mm cid bitmap.

But if both are really gone from the profiles, then it's really good news.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com