aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/core.c6
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;
4474void sched_show_task(struct task_struct *p) 4474void 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);