From: Peter Zijlstra <peterz@infradead.org> To: Patrick Bellasi <patrick.bellasi@arm.com> Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ingo Molnar <mingo@redhat.com>, Tejun Heo <tj@kernel.org>, "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>, Viresh Kumar <viresh.kumar@linaro.org>, Vincent Guittot <vincent.guittot@linaro.org>, Paul Turner <pjt@google.com>, Quentin Perret <quentin.perret@arm.com>, Dietmar Eggemann <dietmar.eggemann@arm.com>, Morten Rasmussen <morten.rasmussen@arm.com>, Juri Lelli <juri.lelli@redhat.com>, Todd Kjos <tkjos@google.com>, Joel Fernandes <joelaf@google.com>, Steve Muckle <smuckle@google.com>, Suren Baghdasaryan <surenb@google.com> Subject: Re: [PATCH v4 02/16] sched/core: uclamp: map TASK's clamp values into CPU's clamp groups Date: Wed, 12 Sep 2018 19:42:36 +0200 Message-ID: <20180912174236.GB24106@hirez.programming.kicks-ass.net> (raw) In-Reply-To: <20180912173515.GH1413@e110439-lin> On Wed, Sep 12, 2018 at 06:35:15PM +0100, Patrick Bellasi wrote: > On 12-Sep 18:12, Peter Zijlstra wrote: > > No idea; but if you want to go all fancy you can replace he whole > > uclamp_map thing with something like: > > > > struct uclamp_map { > > union { > > struct { > > unsigned long v : 10; > > unsigned long c : BITS_PER_LONG - 10; > > }; > > atomic_long_t s; > > }; > > }; > > That sounds really cool and scary at the same time :) > > The v:10 requires that we never set SCHED_CAPACITY_SCALE>1024 > or that we use it to track a percentage value (i.e. [0..100]). Or we pick 11 bits, it seems unlikely that capacity be larger than 2k. > One of the last patches introduces percentage values to userspace. > But, I was considering that in kernel space we should always track > full scale utilization values. > > The c:(BITS_PER_LONG-10) restricts the range of concurrently active > SE refcounting the same clamp value. Which, for some 32bit systems is > only 4 milions among tasks and cgroups... maybe still reasonable... Yeah, on 32bit having 4M tasks seems 'unlikely'.
next prev parent reply index Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-08-28 13:53 [PATCH v4 00/16] Add utilization clamping support Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 01/16] sched/core: uclamp: extend sched_setattr to support utilization clamping Patrick Bellasi 2018-09-05 11:01 ` Juri Lelli 2018-08-28 13:53 ` [PATCH v4 02/16] sched/core: uclamp: map TASK's clamp values into CPU's clamp groups Patrick Bellasi 2018-09-05 10:45 ` Juri Lelli 2018-09-06 13:48 ` Patrick Bellasi 2018-09-06 14:13 ` Juri Lelli 2018-09-06 8:17 ` Juri Lelli 2018-09-06 14:00 ` Patrick Bellasi 2018-09-08 23:47 ` Suren Baghdasaryan 2018-09-12 10:32 ` Patrick Bellasi 2018-09-12 13:49 ` Peter Zijlstra 2018-09-12 15:56 ` Patrick Bellasi 2018-09-12 16:12 ` Peter Zijlstra 2018-09-12 17:35 ` Patrick Bellasi 2018-09-12 17:42 ` Peter Zijlstra [this message] 2018-09-12 17:52 ` Patrick Bellasi 2018-09-13 19:14 ` Peter Zijlstra 2018-09-14 8:51 ` Patrick Bellasi 2018-09-12 16:24 ` Peter Zijlstra 2018-09-12 17:42 ` Patrick Bellasi 2018-09-13 19:20 ` Peter Zijlstra 2018-09-14 8:47 ` Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 03/16] sched/core: uclamp: add CPU's clamp groups accounting Patrick Bellasi 2018-09-12 17:34 ` Peter Zijlstra 2018-09-12 17:44 ` Patrick Bellasi 2018-09-13 19:12 ` Peter Zijlstra 2018-09-14 9:07 ` Patrick Bellasi 2018-09-14 11:52 ` Peter Zijlstra 2018-09-14 13:41 ` Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 04/16] sched/core: uclamp: update CPU's refcount on clamp changes Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 05/16] sched/core: uclamp: enforce last task UCLAMP_MAX Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 06/16] sched/cpufreq: uclamp: add utilization clamping for FAIR tasks Patrick Bellasi 2018-09-14 9:32 ` Peter Zijlstra 2018-09-14 13:19 ` Patrick Bellasi 2018-09-14 13:36 ` Peter Zijlstra 2018-09-14 13:57 ` Patrick Bellasi 2018-09-27 10:23 ` Quentin Perret 2018-08-28 13:53 ` [PATCH v4 07/16] sched/core: uclamp: extend cpu's cgroup controller Patrick Bellasi 2018-08-28 18:29 ` Randy Dunlap 2018-08-29 8:53 ` Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 08/16] sched/core: uclamp: propagate parent clamps Patrick Bellasi 2018-09-09 3:02 ` Suren Baghdasaryan 2018-09-12 12:51 ` Patrick Bellasi 2018-09-12 15:56 ` Suren Baghdasaryan 2018-09-11 15:18 ` Tejun Heo 2018-09-11 16:26 ` Patrick Bellasi 2018-09-11 16:28 ` Tejun Heo 2018-08-28 13:53 ` [PATCH v4 09/16] sched/core: uclamp: map TG's clamp values into CPU's clamp groups Patrick Bellasi 2018-09-09 18:52 ` Suren Baghdasaryan 2018-09-12 14:19 ` Patrick Bellasi 2018-09-12 15:53 ` Suren Baghdasaryan 2018-08-28 13:53 ` [PATCH v4 10/16] sched/core: uclamp: use TG's clamps to restrict Task's clamps Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 11/16] sched/core: uclamp: add system default clamps Patrick Bellasi 2018-09-10 16:20 ` Suren Baghdasaryan 2018-09-11 16:46 ` Patrick Bellasi 2018-09-11 19:25 ` Suren Baghdasaryan 2018-08-28 13:53 ` [PATCH v4 12/16] sched/core: uclamp: update CPU's refcount on TG's clamp changes Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 13/16] sched/core: uclamp: use percentage clamp values Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 14/16] sched/core: uclamp: request CAP_SYS_ADMIN by default Patrick Bellasi 2018-09-04 13:47 ` Juri Lelli 2018-09-06 14:40 ` Patrick Bellasi 2018-09-06 14:59 ` Juri Lelli 2018-09-06 17:21 ` Patrick Bellasi 2018-09-14 11:10 ` Peter Zijlstra 2018-09-14 14:07 ` Patrick Bellasi 2018-09-14 14:28 ` Peter Zijlstra 2018-09-17 12:27 ` Patrick Bellasi 2018-09-21 9:13 ` Peter Zijlstra 2018-09-24 15:14 ` Patrick Bellasi 2018-09-24 15:56 ` Peter Zijlstra 2018-09-24 17:23 ` Patrick Bellasi 2018-09-24 16:26 ` Peter Zijlstra 2018-09-24 17:19 ` Patrick Bellasi 2018-09-25 15:49 ` Peter Zijlstra 2018-09-26 10:43 ` Patrick Bellasi 2018-09-27 10:00 ` Quentin Perret 2018-09-26 17:51 ` Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 15/16] sched/core: uclamp: add clamp group discretization support Patrick Bellasi 2018-08-28 13:53 ` [PATCH v4 16/16] sched/cpufreq: uclamp: add utilization clamping for RT tasks Patrick Bellasi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180912174236.GB24106@hirez.programming.kicks-ass.net \ --to=peterz@infradead.org \ --cc=dietmar.eggemann@arm.com \ --cc=joelaf@google.com \ --cc=juri.lelli@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=morten.rasmussen@arm.com \ --cc=patrick.bellasi@arm.com \ --cc=pjt@google.com \ --cc=quentin.perret@arm.com \ --cc=rafael.j.wysocki@intel.com \ --cc=smuckle@google.com \ --cc=surenb@google.com \ --cc=tj@kernel.org \ --cc=tkjos@google.com \ --cc=vincent.guittot@linaro.org \ --cc=viresh.kumar@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git