[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200409172111.GL3818@techsingularity.net>
Date: Thu, 9 Apr 2020 18:21:11 +0100
From: Mel Gorman <mgorman@...hsingularity.net>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Tejun Heo <tj@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Davidlohr Bueso <dave@...olabs.net>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: Cgroup memory barrier usage and call frequency from scheduler
On Thu, Apr 09, 2020 at 06:49:19PM +0200, Peter Zijlstra wrote:
> On Thu, Apr 09, 2020 at 04:44:13PM +0100, Mel Gorman wrote:
>
> > For 1, the use of a full barrier seems unnecessary when it appears that
> > you could have used a read barrier and a write barrier. The following
> > patch drops the profile overhead to 0.1%
>
> Yikes. And why still .1% the below should be a barrier() on x86. Is the
> compiler so contrained by that?
>
The 0.1% is still doing all the work up until just after the barrier with
this check;
if (cgroup_rstat_cpu(cgrp, cpu)->updated_next)
return;
That must often be true as samples were not gathered in the rest of the
function. As this function is called on every update_curr(), it gets
called a lot.
--
Mel Gorman
SUSE Labs
Powered by blists - more mailing lists