aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-26 16:43:25 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-26 16:43:25 -0500
commit6830c8db58c2616d8ba2bf45e7d98dca5f69b07f (patch)
tree7f450db9d0cf6dafa45374bb9edfb9b53d222d05
parent580e3d552ddf06537c7f36d1bfab04761489db9c (diff)
parent3f5fe9fef5b2da06b6319fab8123056da5217c3f (diff)
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar: "Misc fixes: a documentation fix, a Sparse warning fix and a debugging fix" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/debug: Fix task state recording/printout sched/deadline: Don't use dubious signed bitfields sched/deadline: Fix the description of runtime accounting in the documentation
-rw-r--r--Documentation/scheduler/sched-deadline.txt13
-rw-r--r--include/linux/sched.h8
-rw-r--r--include/trace/events/sched.h6
3 files changed, 17 insertions, 10 deletions
diff --git a/Documentation/scheduler/sched-deadline.txt b/Documentation/scheduler/sched-deadline.txt
index e89e36ec15a5..8ce78f82ae23 100644
--- a/Documentation/scheduler/sched-deadline.txt
+++ b/Documentation/scheduler/sched-deadline.txt
@@ -204,10 +204,17 @@ CONTENTS
204 It does so by decrementing the runtime of the executing task Ti at a pace equal 204 It does so by decrementing the runtime of the executing task Ti at a pace equal
205 to 205 to
206 206
207 dq = -max{ Ui, (1 - Uinact) } dt 207 dq = -max{ Ui / Umax, (1 - Uinact - Uextra) } dt
208 208
209 where Uinact is the inactive utilization, computed as (this_bq - running_bw), 209 where:
210 and Ui is the bandwidth of task Ti. 210
211 - Ui is the bandwidth of task Ti;
212 - Umax is the maximum reclaimable utilization (subjected to RT throttling
213 limits);
214 - Uinact is the (per runqueue) inactive utilization, computed as
215 (this_bq - running_bw);
216 - Uextra is the (per runqueue) extra reclaimable utilization
217 (subjected to RT throttling limits).
211 218
212 219
213 Let's now see a trivial example of two deadline tasks with runtime equal 220 Let's now see a trivial example of two deadline tasks with runtime equal
diff --git a/include/linux/sched.h b/include/linux/sched.h
index a5dc7c98b0a2..21991d668d35 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -473,10 +473,10 @@ struct sched_dl_entity {
473 * conditions between the inactive timer handler and the wakeup 473 * conditions between the inactive timer handler and the wakeup
474 * code. 474 * code.
475 */ 475 */
476 int dl_throttled : 1; 476 unsigned int dl_throttled : 1;
477 int dl_boosted : 1; 477 unsigned int dl_boosted : 1;
478 int dl_yielded : 1; 478 unsigned int dl_yielded : 1;
479 int dl_non_contending : 1; 479 unsigned int dl_non_contending : 1;
480 480
481 /* 481 /*
482 * Bandwidth enforcement timer. Each -deadline task has its 482 * Bandwidth enforcement timer. Each -deadline task has its
diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
index 306b31de5194..bc01e06bc716 100644
--- a/include/trace/events/sched.h
+++ b/include/trace/events/sched.h
@@ -116,9 +116,9 @@ static inline long __trace_sched_switch_state(bool preempt, struct task_struct *
116 * RUNNING (we will not have dequeued if state != RUNNING). 116 * RUNNING (we will not have dequeued if state != RUNNING).
117 */ 117 */
118 if (preempt) 118 if (preempt)
119 return TASK_STATE_MAX; 119 return TASK_REPORT_MAX;
120 120
121 return task_state_index(p); 121 return 1 << task_state_index(p);
122} 122}
123#endif /* CREATE_TRACE_POINTS */ 123#endif /* CREATE_TRACE_POINTS */
124 124
@@ -164,7 +164,7 @@ TRACE_EVENT(sched_switch,
164 { 0x40, "P" }, { 0x80, "I" }) : 164 { 0x40, "P" }, { 0x80, "I" }) :
165 "R", 165 "R",
166 166
167 __entry->prev_state & TASK_STATE_MAX ? "+" : "", 167 __entry->prev_state & TASK_REPORT_MAX ? "+" : "",
168 __entry->next_comm, __entry->next_pid, __entry->next_prio) 168 __entry->next_comm, __entry->next_pid, __entry->next_prio)
169); 169);
170 170