From 30334ecbf61fbdb89f19cd89a8614b5cd8a5ed87 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 7 Nov 2012 13:35:32 -0800 Subject: [PATCH] --- yaml --- r: 338842 b: refs/heads/master c: 4e79752c25ec221ac1e28f8875b539ed7631a0db h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched/core.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index cc47b277519b..6c288a58f0c7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c635a4e1c24e9396db10ed7424b2084908b32252 +refs/heads/master: 4e79752c25ec221ac1e28f8875b539ed7631a0db diff --git a/trunk/kernel/sched/core.c b/trunk/kernel/sched/core.c index 6d4569e0924d..36f260864f65 100644 --- a/trunk/kernel/sched/core.c +++ b/trunk/kernel/sched/core.c @@ -4474,6 +4474,7 @@ static const char stat_nam[] = TASK_STATE_TO_CHAR_STR; void sched_show_task(struct task_struct *p) { unsigned long free = 0; + int ppid; unsigned state; state = p->state ? __ffs(p->state) + 1 : 0; @@ -4493,8 +4494,11 @@ void sched_show_task(struct task_struct *p) #ifdef CONFIG_DEBUG_STACK_USAGE free = stack_not_used(p); #endif + rcu_read_lock(); + ppid = task_pid_nr(rcu_dereference(p->real_parent)); + rcu_read_unlock(); printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free, - task_pid_nr(p), task_pid_nr(rcu_dereference(p->real_parent)), + task_pid_nr(p), ppid, (unsigned long)task_thread_info(p)->flags); show_stack(p, NULL);