[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YNb8KI5zww8Pweat@mtj.duckdns.org>
Date: Sat, 26 Jun 2021 06:06:32 -0400
From: Tejun Heo <tj@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Josh Don <joshdon@...gle.com>, Ingo Molnar <mingo@...hat.com>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Paul Turner <pjt@...gle.com>,
David Rientjes <rientjes@...gle.com>,
Oleg Rombakh <olegrom@...gle.com>,
Viresh Kumar <viresh.kumar@...aro.org>,
Steve Sistare <steven.sistare@...cle.com>,
linux-kernel@...r.kernel.org, Rik van Riel <riel@...riel.com>
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
Powered by blists - more mailing lists