[lkml]   [2019]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC PATCH v2 00/17] Core scheduling v2

* Mel Gorman <> wrote:

> > Interesting.
> >
> > Here too I'm wondering whether the scheduler could do something to
> > improve the saturated case: which *is* an important workload, as kernel
> > hackers tend to over-load their systems a bit when building kernel, to
> > make sure the system is at least 100% utilized. ;-)
> >
> Every so often I try but I never managed to settle on a heuristic that
> helped this case without breaking others. The biggest hurdle is that
> typically things are better if migrations are low but it's hard to do
> that in a way that does not also stack tasks on the same CPUs
> prematurely.

So instead of using a heuristic (which are fragile and most of them are
also annoyingly non-deterministic and increase overall noise and make
measurements harder) I'd suggest using SCHED_BATCH just as a hardcore
toggle to maximize for CPU-bound throughput.

It's not used very much, but the kernel build could use it by default
(i.e. we could use a "chrt -b" call within the main Makefile), so it
would be the perfect guinea pig and wouldn't affect anything else.

I.e. we could use SCHED_BATCH to maximize kernel build speed, with no no
regard to latency (within SCHED_BATCH workloads). I suspect this will
also maximize bandwidth of a lot of other real-world, highly parallel but
interacting processing workloads.

[ I'd even be willing to rename it to SCHED_KBUILD, internally. ;-) ]



 \ /
  Last update: 2019-04-26 11:52    [W:0.151 / U:7.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site