aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorJuri Lelli <juri.lelli@arm.com>2014-09-09 05:57:13 -0400
committerIngo Molnar <mingo@kernel.org>2014-09-16 04:23:01 -0400
commit0d9ba8b03cfaed2696de42fe15ed410ba2ec7dbe (patch)
tree13af5f908540bbe8709ce0ad073c8dc5aecd41e2 /Documentation
parentad67dc316f000df4756b027f3559ad0491497d9e (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.txt51
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
1904.1 System wide settings 1894.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: