diff options
author | Juri Lelli <juri.lelli@arm.com> | 2014-09-09 05:57:13 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-09-16 04:23:01 -0400 |
commit | 0d9ba8b03cfaed2696de42fe15ed410ba2ec7dbe (patch) | |
tree | 13af5f908540bbe8709ce0ad073c8dc5aecd41e2 /Documentation | |
parent | ad67dc316f000df4756b027f3559ad0491497d9e (diff) |
Documentation/scheduler/sched-deadline.txt: Rewrite section 4 intro
Section 4 intro was still describing the old interface. Rewrite
it.
Signed-off-by: Juri Lelli <juri.lelli@arm.com>
Signed-off-by: Luca Abeni <luca.abeni@unitn.it>
Reviewed-by: Henrik Austad <henrik@austad.us>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Dario Faggioli <raistlin@linux.it>
Cc: Juri Lelli <juri.lelli@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1410256636-26171-3-git-send-email-juri.lelli@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/scheduler/sched-deadline.txt | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/Documentation/scheduler/sched-deadline.txt b/Documentation/scheduler/sched-deadline.txt index a029891a8228..f75d8327b914 100644 --- a/Documentation/scheduler/sched-deadline.txt +++ b/Documentation/scheduler/sched-deadline.txt | |||
@@ -165,39 +165,38 @@ CONTENTS | |||
165 | 165 | ||
166 | In order for the -deadline scheduling to be effective and useful, it is | 166 | In order for the -deadline scheduling to be effective and useful, it is |
167 | important to have some method to keep the allocation of the available CPU | 167 | important to have some method to keep the allocation of the available CPU |
168 | bandwidth to the tasks under control. | 168 | bandwidth to the tasks under control. This is usually called "admission |
169 | This is usually called "admission control" and if it is not performed at all, | 169 | control" and if it is not performed at all, no guarantee can be given on |
170 | no guarantee can be given on the actual scheduling of the -deadline tasks. | 170 | the actual scheduling of the -deadline tasks. |
171 | 171 | ||
172 | Since when RT-throttling has been introduced each task group has a bandwidth | 172 | The interface used to control the fraction of CPU bandwidth that can be |
173 | associated, calculated as a certain amount of runtime over a period. | 173 | allocated to -deadline tasks is similar to the one already used for -rt |
174 | Moreover, to make it possible to manipulate such bandwidth, readable/writable | 174 | tasks with real-time group scheduling (a.k.a. RT-throttling - see |
175 | controls have been added to both procfs (for system wide settings) and cgroupfs | 175 | Documentation/scheduler/sched-rt-group.txt), and is based on readable/ |
176 | (for per-group settings). | 176 | writable control files located in procfs (for system wide settings). |
177 | Therefore, the same interface is being used for controlling the bandwidth | 177 | Notice that per-group settings (controlled through cgroupfs) are still not |
178 | distrubution to -deadline tasks. | 178 | defined for -deadline tasks, because more discussion is needed in order to |
179 | 179 | figure out how we want to manage SCHED_DEADLINE bandwidth at the task group | |
180 | However, more discussion is needed in order to figure out how we want to manage | 180 | level. |
181 | SCHED_DEADLINE bandwidth at the task group level. Therefore, SCHED_DEADLINE | 181 | |
182 | uses (for now) a less sophisticated, but actually very sensible, mechanism to | 182 | A main difference between deadline bandwidth management and RT-throttling |
183 | ensure that a certain utilization cap is not overcome per each root_domain. | ||
184 | |||
185 | Another main difference between deadline bandwidth management and RT-throttling | ||
186 | is that -deadline tasks have bandwidth on their own (while -rt ones don't!), | 183 | is that -deadline tasks have bandwidth on their own (while -rt ones don't!), |
187 | and thus we don't need an higher level throttling mechanism to enforce the | 184 | and thus we don't need a higher level throttling mechanism to enforce the |
188 | desired bandwidth. | 185 | desired bandwidth. Therefore, using this simple interface we can put a cap |
186 | on total utilization of -deadline tasks (i.e., \Sum (runtime_i / period_i) < | ||
187 | global_dl_utilization_cap). | ||
189 | 188 | ||
190 | 4.1 System wide settings | 189 | 4.1 System wide settings |
191 | ------------------------ | 190 | ------------------------ |
192 | 191 | ||
193 | The system wide settings are configured under the /proc virtual file system. | 192 | The system wide settings are configured under the /proc virtual file system. |
194 | 193 | ||
195 | For now the -rt knobs are used for dl admission control and the -deadline | 194 | For now the -rt knobs are used for -deadline admission control and the |
196 | runtime is accounted against the -rt runtime. We realise that this isn't | 195 | -deadline runtime is accounted against the -rt runtime. We realise that this |
197 | entirely desirable; however, it is better to have a small interface for now, | 196 | isn't entirely desirable; however, it is better to have a small interface for |
198 | and be able to change it easily later. The ideal situation (see 5.) is to run | 197 | now, and be able to change it easily later. The ideal situation (see 5.) is to |
199 | -rt tasks from a -deadline server; in which case the -rt bandwidth is a direct | 198 | run -rt tasks from a -deadline server; in which case the -rt bandwidth is a |
200 | subset of dl_bw. | 199 | direct subset of dl_bw. |
201 | 200 | ||
202 | This means that, for a root_domain comprising M CPUs, -deadline tasks | 201 | This means that, for a root_domain comprising M CPUs, -deadline tasks |
203 | can be created while the sum of their bandwidths stays below: | 202 | can be created while the sum of their bandwidths stays below: |