[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140902211439.GB22581@sisyphus.home.austad.us>
Date: Tue, 2 Sep 2014 23:14:39 +0200
From: Henrik Austad <henrik@...tad.us>
To: Juri Lelli <juri.lelli@....com>
Cc: peterz@...radead.org, luca.abeni@...tn.it, rdunlap@...radead.org,
mingo@...hat.com, raistlin@...ux.it, juri.lelli@...il.com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/4] Documentation/scheduler/sched-deadline.txt:
Rewrite section 4 intro
On Thu, Aug 28, 2014 at 11:00:27AM +0100, Juri Lelli wrote:
> Section 4 intro was still describing the old interface. Rewrite it.
>
> Signed-off-by: Juri Lelli <juri.lelli@....com>
> Signed-off-by: Luca Abeni <luca.abeni@...tn.it>
> Cc: Randy Dunlap <rdunlap@...radead.org>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: Henrik Austad <henrik@...tad.us>
> Cc: Dario Faggioli <raistlin@...ux.it>
> Cc: Juri Lelli <juri.lelli@...il.com>
> Cc: linux-doc@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org
> ---
> Documentation/scheduler/sched-deadline.txt | 51 +++++++++++++++---------------
> 1 file changed, 25 insertions(+), 26 deletions(-)
>
> diff --git a/Documentation/scheduler/sched-deadline.txt b/Documentation/scheduler/sched-deadline.txt
> index dce6d63..0aff2d5 100644
> --- a/Documentation/scheduler/sched-deadline.txt
> +++ b/Documentation/scheduler/sched-deadline.txt
> @@ -165,39 +165,38 @@ CONTENTS
>
> In order for the -deadline scheduling to be effective and useful, it is
> important to have some method to keep the allocation of the available CPU
> - bandwidth to the tasks under control.
> - This is usually called "admission control" and if it is not performed at all,
> - no guarantee can be given on the actual scheduling of the -deadline tasks.
> -
> - Since when RT-throttling has been introduced each task group has a bandwidth
> - associated, calculated as a certain amount of runtime over a period.
> - Moreover, to make it possible to manipulate such bandwidth, readable/writable
> - controls have been added to both procfs (for system wide settings) and cgroupfs
> - (for per-group settings).
> - Therefore, the same interface is being used for controlling the bandwidth
> - distrubution to -deadline tasks.
> -
> - However, more discussion is needed in order to figure out how we want to manage
> - SCHED_DEADLINE bandwidth at the task group level. Therefore, SCHED_DEADLINE
> - uses (for now) a less sophisticated, but actually very sensible, mechanism to
> - ensure that a certain utilization cap is not overcome per each root_domain.
> -
> - Another main difference between deadline bandwidth management and RT-throttling
> + bandwidth to the tasks under control. This is usually called "admission
> + control" and if it is not performed at all, no guarantee can be given on
> + the actual scheduling of the -deadline tasks.
> +
> + The interface used to control the fraction of CPU bandwidth that can be
> + allocated to -deadline tasks is similar to the one already used for -rt
> + tasks with real-time group scheduling (a.k.a. RT-throttling - see
> + Documentation/scheduler/sched-rt-group.txt), and is based on readable/
> + writable control files located in procfs (for system wide settings).
> + Notice that per-group settings (controlled through cgroupfs) are still not
> + defined for -deadline tasks, because more discussion is needed in order to
> + figure out how we want to manage SCHED_DEADLINE bandwidth at the task group
> + level.
> +
> + A main difference between deadline bandwidth management and RT-throttling
> is that -deadline tasks have bandwidth on their own (while -rt ones don't!),
> - and thus we don't need an higher level throttling mechanism to enforce the
> - desired bandwidth.
> + and thus we don't need a higher level throttling mechanism to enforce the
> + desired bandwidth. Therefore, using this simple interface we can put a cap
> + on total utilization of -deadline tasks (i.e., \Sum (runtime_i / period_i) <
> + some_desired_value).
s/some_desired_value/global_dl_utilization_cap/ perhaps?
> 4.1 System wide settings
> ------------------------
>
> The system wide settings are configured under the /proc virtual file system.
>
> - For now the -rt knobs are used for dl admission control and the -deadline
> - runtime is accounted against the -rt runtime. We realise that this isn't
> - entirely desirable; however, it is better to have a small interface for now,
> - and be able to change it easily later. The ideal situation (see 5.) is to run
> - -rt tasks from a -deadline server; in which case the -rt bandwidth is a direct
> - subset of dl_bw.
> + For now the -rt knobs are used for -deadline admission control and the
> + -deadline runtime is accounted against the -rt runtime. We realise that this
> + isn't entirely desirable; however, it is better to have a small interface for
> + now, and be able to change it easily later. The ideal situation (see 5.) is to
> + run -rt tasks from a -deadline server; in which case the -rt bandwidth is a
> + direct subset of dl_bw.
Isn't forking forbidden for _dl tasks? Or did I miss a memo somewhere?
> This means that, for a root_domain comprising M CPUs, -deadline tasks
> can be created while the sum of their bandwidths stays below:
> --
> 2.0.4
>
>
All in all, looks pretty good to me!
--
Henrik
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists