diff options
| -rw-r--r-- | Documentation/scheduler/sched-deadline.txt | 13 | ||||
| -rw-r--r-- | include/linux/sched.h | 8 | ||||
| -rw-r--r-- | include/trace/events/sched.h | 6 |
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 | ||
