Messages in this thread | | | Date | Sat, 26 Jun 2021 06:06:32 -0400 | From | Tejun Heo <> | Subject | Re: [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
| |