Messages in this thread | | | Subject | Re: [PATCH 2/2] sched/fair: Scale wakeup granularity relative to nr_running | From | Mike Galbraith <> | Date | Wed, 22 Sep 2021 16:04:01 +0200 |
| |
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
| |