[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <97ee06c66fe0d900e3e0c4145ef9d33457ab3c65.camel@gmx.de>
Date: Wed, 22 Sep 2021 16:04:01 +0200
From: Mike Galbraith <efault@....de>
To: Mel Gorman <mgorman@...hsingularity.net>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Valentin Schneider <valentin.schneider@....com>,
Aubrey Li <aubrey.li@...ux.intel.com>,
Barry Song <song.bao.hua@...ilicon.com>,
Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] sched/fair: Scale wakeup granularity relative to
nr_running
On Wed, 2021-09-22 at 14:20 +0100, Mel Gorman wrote:
> On Wed, Sep 22, 2021 at 07:22:20AM +0200, Mike Galbraith wrote:
> >
> > Watching 'while sleep 1; do clear;tail trace; done' with nothing but a
> > kbuild running is like watching top. There's enough stacking during
> > routine use of my desktop box that it runs into the tick granularity
> > wall pretty much continuously, so 'overload' may want redefining.
> >
>
> Ok, that's pretty convincing. You didn't mention if there were
> interactivity glitches but it's possible.
No, I didn't notice a thing. That's not surprising given the amount of
scheduling going on. The stack depth surprised me a bit though.
X-2230 [005] d..5. 2162.123029: wakeup_gran: runnable:6 wakee:QXcbEventQueue:2695 CPU5
X-2230 [005] d..5. 2162.123035: wakeup_gran: runnable:7 wakee:QXcbEventQueue:2656 CPU5
X-2230 [005] d..5. 2162.123046: wakeup_gran: runnable:8 wakee:QXcbEventQueue:5876 CPU5
X-2230 [005] d..5. 2162.123049: wakeup_gran: runnable:9 wakee:QXcbEventQueue:5355 CPU5
X-2230 [005] d..5. 2162.123083: wakeup_gran: runnable:10 wakee:QXcbEventQueue:2723 CPU5
X-2230 [005] d..5. 2162.123097: wakeup_gran: runnable:11 wakee:QXcbEventQueue:2630 CPU5
X-2230 [005] d..5. 2162.123208: wakeup_gran: runnable:12 wakee:QXcbEventQueue:2760 CPU5
That CPU# on the end is task_cpu(). Lord knows why X wakes all those,
but with no SD_BALANCE_WAKE, a busy box and all those having last lived
on waker's CPU, the resulting construct.. probably doesn't very closely
resemble what the programmer had in mind when threading.
-Mike
Powered by blists - more mailing lists