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

From: luca abeni
Date: Wed Feb 03 2016 - 08:28:34 EST


Hi Juri,

On Wed, 3 Feb 2016 11:30:19 +0000
Juri Lelli <juri.lelli@xxxxxxx> wrote:
[...]
> > > > 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.
> > So, I implemented this idea (/proc/sys/kernel/sched_other_period_us
> > and /proc/sys/kernel/sched_other_runtime_us to set the unreclaimable
> > utilization), and some initial testing seems to show that it works
> > fine.
> >
>
> Sorry for not saying this before, but why can't we use the existing
> sched_rt_runtime_us/sched_rt_runtime_period cap for this? I mean,
> other will have (1 - rt_runtime_ratio) available to run.

I was thinking about providing a more flexible interface (allowing to
use rt_runtime/rt_period for admission control and
other_runtime/other_period for reclaiming), but using using
sched_rt_runtime_us/sched_rt_runtime_period makes sense too. If this
solution is preferred, I'll adapt my patch.


Thanks,
Luca