diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2015-02-10 14:35:36 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2015-02-10 14:35:36 -0500 |
commit | 4ba24fef3eb3b142197135223b90ced2f319cd53 (patch) | |
tree | a20c125b27740ec7b4c761b11d801108e1b316b2 /kernel/sched/debug.c | |
parent | 47c1ffb2b6b630894e9a16442611c056ab21c057 (diff) | |
parent | 98a4a59ee31a12105a2b84f5b8b515ac2cb208ef (diff) |
Merge branch 'next' into for-linus
Prepare first round of input updates for 3.20.
Diffstat (limited to 'kernel/sched/debug.c')
-rw-r--r-- | kernel/sched/debug.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 627b3c34b821..92cc52001e74 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c | |||
@@ -150,7 +150,6 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p) | |||
150 | static void print_rq(struct seq_file *m, struct rq *rq, int rq_cpu) | 150 | static void print_rq(struct seq_file *m, struct rq *rq, int rq_cpu) |
151 | { | 151 | { |
152 | struct task_struct *g, *p; | 152 | struct task_struct *g, *p; |
153 | unsigned long flags; | ||
154 | 153 | ||
155 | SEQ_printf(m, | 154 | SEQ_printf(m, |
156 | "\nrunnable tasks:\n" | 155 | "\nrunnable tasks:\n" |
@@ -159,16 +158,14 @@ static void print_rq(struct seq_file *m, struct rq *rq, int rq_cpu) | |||
159 | "------------------------------------------------------" | 158 | "------------------------------------------------------" |
160 | "----------------------------------------------------\n"); | 159 | "----------------------------------------------------\n"); |
161 | 160 | ||
162 | read_lock_irqsave(&tasklist_lock, flags); | 161 | rcu_read_lock(); |
163 | 162 | for_each_process_thread(g, p) { | |
164 | do_each_thread(g, p) { | ||
165 | if (task_cpu(p) != rq_cpu) | 163 | if (task_cpu(p) != rq_cpu) |
166 | continue; | 164 | continue; |
167 | 165 | ||
168 | print_task(m, rq, p); | 166 | print_task(m, rq, p); |
169 | } while_each_thread(g, p); | 167 | } |
170 | 168 | rcu_read_unlock(); | |
171 | read_unlock_irqrestore(&tasklist_lock, flags); | ||
172 | } | 169 | } |
173 | 170 | ||
174 | void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) | 171 | void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) |
@@ -264,6 +261,12 @@ void print_rt_rq(struct seq_file *m, int cpu, struct rt_rq *rt_rq) | |||
264 | #undef P | 261 | #undef P |
265 | } | 262 | } |
266 | 263 | ||
264 | void print_dl_rq(struct seq_file *m, int cpu, struct dl_rq *dl_rq) | ||
265 | { | ||
266 | SEQ_printf(m, "\ndl_rq[%d]:\n", cpu); | ||
267 | SEQ_printf(m, " .%-30s: %ld\n", "dl_nr_running", dl_rq->dl_nr_running); | ||
268 | } | ||
269 | |||
267 | extern __read_mostly int sched_clock_running; | 270 | extern __read_mostly int sched_clock_running; |
268 | 271 | ||
269 | static void print_cpu(struct seq_file *m, int cpu) | 272 | static void print_cpu(struct seq_file *m, int cpu) |
@@ -332,10 +335,9 @@ do { \ | |||
332 | spin_lock_irqsave(&sched_debug_lock, flags); | 335 | spin_lock_irqsave(&sched_debug_lock, flags); |
333 | print_cfs_stats(m, cpu); | 336 | print_cfs_stats(m, cpu); |
334 | print_rt_stats(m, cpu); | 337 | print_rt_stats(m, cpu); |
338 | print_dl_stats(m, cpu); | ||
335 | 339 | ||
336 | rcu_read_lock(); | ||
337 | print_rq(m, rq, cpu); | 340 | print_rq(m, rq, cpu); |
338 | rcu_read_unlock(); | ||
339 | spin_unlock_irqrestore(&sched_debug_lock, flags); | 341 | spin_unlock_irqrestore(&sched_debug_lock, flags); |
340 | SEQ_printf(m, "\n"); | 342 | SEQ_printf(m, "\n"); |
341 | } | 343 | } |
@@ -533,8 +535,8 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m) | |||
533 | unsigned long nr_faults = -1; | 535 | unsigned long nr_faults = -1; |
534 | int cpu_current, home_node; | 536 | int cpu_current, home_node; |
535 | 537 | ||
536 | if (p->numa_faults_memory) | 538 | if (p->numa_faults) |
537 | nr_faults = p->numa_faults_memory[2*node + i]; | 539 | nr_faults = p->numa_faults[2*node + i]; |
538 | 540 | ||
539 | cpu_current = !i ? (task_node(p) == node) : | 541 | cpu_current = !i ? (task_node(p) == node) : |
540 | (pol && node_isset(node, pol->v.nodes)); | 542 | (pol && node_isset(node, pol->v.nodes)); |