Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1317867 > unrolled thread

Re: [RFC 8/8] Do not reclaim the whole CPU bandwidth

Started byluca abeni <luca.abeni@unitn.it>
First post2016-01-26 14:00 +0100
Last post2016-01-27 15:50 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [RFC 8/8] Do not reclaim the whole CPU bandwidth luca abeni <luca.abeni@unitn.it> - 2016-01-26 14:00 +0100
    Re: [RFC 8/8] Do not reclaim the whole CPU bandwidth Peter Zijlstra <peterz@infradead.org> - 2016-01-27 15:50 +0100

#1317867 — Re: [RFC 8/8] Do not reclaim the whole CPU bandwidth

Fromluca abeni <luca.abeni@unitn.it>
Date2016-01-26 14:00 +0100
SubjectRe: [RFC 8/8] Do not reclaim the whole CPU bandwidth
Message-ID<qVbnY-4eF-23@gated-at.bofh.it>
Hi Peter,

On Fri, 15 Jan 2016 09:50:04 +0100
Peter Zijlstra <peterz@infradead.org> wrote:
[...]
> > >>NOTE: the fraction of CPU time that cannot be reclaimed is
> > >>currently hardcoded as (1 << 20) / 10 -> 90%, but it must be made
> > >>configurable!
> > >
> > >So the alternative is an explicit SCHED_OTHER server which is
> > >configurable.
> > Yes, I have thought about something similar (actually, this is the
> > strategy I implemented in my first CBS/GRUB scheduler. With the
> > "old" 2.4 scheduler, this was easier :).
> > But I think the solution I implemented in this patch is much
> > simpler (it just requires a very simple modification to
> > grub_reclaim()) and is more elegant from the theoretical point of
> > view.
> 
> It is certainly simpler, agreed.
> 
> The trouble is with interfaces. Once we expose them we're stuck with
> them. And from that POV I think an explicit SCHED_OTHER server (or a
> minimum budget for a slack time scheme) makes more sense.
I am trying to work on this.
Which kind of interface is better for this? Would adding something like
/proc/sys/kernel/sched_other_period_us
/proc/sys/kernel/sched_other_runtime_us
be ok?

If this is ok, I'll add these two procfs files, and store
(sched_other_runtime / sched_other_period) << 20 in the runqueue field
which represents the unreclaimable utilization (implementing
hierarchical SCHED_DEADLINE/CFS scheduling right now is too complex for
this patchset... But if the exported interface is ok, it can be
implemented later).

Is this approach acceptable? Or am I misunderstanding your comment?



			Thanks,
				Luca

[toc] | [next] | [standalone]


#1319035

FromPeter Zijlstra <peterz@infradead.org>
Date2016-01-27 15:50 +0100
Message-ID<qVzzY-4VL-15@gated-at.bofh.it>
In reply to#1317867
On Tue, Jan 26, 2016 at 01:52:19PM +0100, luca abeni wrote:

> > The trouble is with interfaces. Once we expose them we're stuck with
> > them. And from that POV I think an explicit SCHED_OTHER server (or a
> > minimum budget for a slack time scheme) makes more sense.

> I am trying to work on this.
> Which kind of interface is better for this? Would adding something like
> /proc/sys/kernel/sched_other_period_us
> /proc/sys/kernel/sched_other_runtime_us
> be ok?
> 
> If this is ok, I'll add these two procfs files, and store
> (sched_other_runtime / sched_other_period) << 20 in the runqueue field
> which represents the unreclaimable utilization (implementing
> hierarchical SCHED_DEADLINE/CFS scheduling right now is too complex for
> this patchset... But if the exported interface is ok, it can be
> implemented later).
> 
> Is this approach acceptable? Or am I misunderstanding your comment?

No, I think that's fine.

Altough now you have me worrying about per root_domain settings and the
like. But I think we can do that with additional interfaces, if needed.

So yes, please go with that.

And agreed, a full CFS server is a bit outside scope for this patch-set.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web