lkml.org 
[lkml]   [2021]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] sched: cgroup SCHED_IDLE support
Hello, Peter.

On Fri, Jun 25, 2021 at 10:08:36AM +0200, Peter Zijlstra wrote:
> It's a direct concequence of the hierarchical requirement. The approach
> is the only valid one. The other relative controllers that don't do
> this, are simply broken.
>
> Absolute controllers have it easier, they can be trivially flattened.

That's too strong a claim. e.g. iocost controller, while in a different
domain, is a weight controller which takes different trade-offs to achieve
hierarchical weight based distribution at negligible nesting overhead. There
usually are more than one way to skin a cat.

> > There are several practical challenges with the current implementation
> > caused by the full nesting - e.g. nesting levels are expensive for context
> > switch heavy applicaitons often going over >1% per level,
>
> Yeah, and there's numerical problems you run into as well due to
> limitied precision.

Another issue is per-queue level heuristics like boosting after idle
nesting not in quite optimal ways.

> Just don't do deep hierarchies.
>
> AFAICT it's a simple matter of conflicting requirements, on the one hand
> the hierarchical thing is required, on the other hand people seem to
> think all this crap is 'free' and create super deep hierarchies and then
> complain shit don't work right.

The problem is that the overhead is significant enough even at pretty
shallow levels. Even at just two/three levels, the cost is already
significant enough for some large-scale applications.

Thanks.

--
tejun

\
 
 \ /
  Last update: 2021-06-26 12:07    [W:0.136 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site