[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230414025926.GA250825@ziqianlu-desk2>
Date: Fri, 14 Apr 2023 10:59:26 +0800
From: Aaron Lu <aaron.lu@...el.com>
To: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
CC: Peter Zijlstra <peterz@...radead.org>,
<linux-kernel@...r.kernel.org>, Olivier Dion <odion@...icios.com>,
<michael.christie@...cle.com>
Subject: Re: [RFC PATCH v5] sched: Fix performance regression introduced by
mm_cid
On Thu, Apr 13, 2023 at 11:11:14AM -0400, Mathieu Desnoyers wrote:
> 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.
Found the below two appeared in profile when using cid as keyword, full
profile attached for your reference.
# Children Self Shared Object Symbol
0.97% 0.62% [kernel.vmlinux] [k] sched_mm_cid_migrate_from
0.48% 0.47% [kernel.vmlinux] [k] mm_cid_get
Thanks,
Aaron
Download attachment "node0_0.profile.gz" of type "application/gzip" (101523 bytes)
Powered by blists - more mailing lists