diff options
-rw-r--r-- | kernel/sched/core.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 6d4569e0924d..36f260864f65 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -4474,6 +4474,7 @@ static const char stat_nam[] = TASK_STATE_TO_CHAR_STR; | |||
4474 | void sched_show_task(struct task_struct *p) | 4474 | void sched_show_task(struct task_struct *p) |
4475 | { | 4475 | { |
4476 | unsigned long free = 0; | 4476 | unsigned long free = 0; |
4477 | int ppid; | ||
4477 | unsigned state; | 4478 | unsigned state; |
4478 | 4479 | ||
4479 | state = p->state ? __ffs(p->state) + 1 : 0; | 4480 | state = p->state ? __ffs(p->state) + 1 : 0; |
@@ -4493,8 +4494,11 @@ void sched_show_task(struct task_struct *p) | |||
4493 | #ifdef CONFIG_DEBUG_STACK_USAGE | 4494 | #ifdef CONFIG_DEBUG_STACK_USAGE |
4494 | free = stack_not_used(p); | 4495 | free = stack_not_used(p); |
4495 | #endif | 4496 | #endif |
4497 | rcu_read_lock(); | ||
4498 | ppid = task_pid_nr(rcu_dereference(p->real_parent)); | ||
4499 | rcu_read_unlock(); | ||
4496 | printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free, | 4500 | printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free, |
4497 | task_pid_nr(p), task_pid_nr(rcu_dereference(p->real_parent)), | 4501 | task_pid_nr(p), ppid, |
4498 | (unsigned long)task_thread_info(p)->flags); | 4502 | (unsigned long)task_thread_info(p)->flags); |
4499 | 4503 | ||
4500 | show_stack(p, NULL); | 4504 | show_stack(p, NULL); |