aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-09-21 05:06:27 -0400
committerIngo Molnar <mingo@elte.hu>2009-09-21 05:37:27 -0400
commitd01d4827858cdc2e1c437c87ab65ec0a00fd40f8 (patch)
tree433ed8bfdf144887129e9b0ea625c99780bedfd6
parent0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1 (diff)
sched: Always show Cpus_allowed field in /proc/<pid>/status
The Cpus_allowed fields in /proc/<pid>/status is currently only shown in case of CONFIG_CPUSETS. However their contents are also useful for the !CONFIG_CPUSETS case. So change the current behaviour and always show these fields. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20090921090627.GD4649@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--fs/proc/array.c11
-rw-r--r--kernel/cpuset.c8
2 files changed, 12 insertions, 7 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 725a650bbbb8..762aea9c9c71 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -321,6 +321,16 @@ static inline void task_context_switch_counts(struct seq_file *m,
321 p->nivcsw); 321 p->nivcsw);
322} 322}
323 323
324static void task_cpus_allowed(struct seq_file *m, struct task_struct *task)
325{
326 seq_printf(m, "Cpus_allowed:\t");
327 seq_cpumask(m, &task->cpus_allowed);
328 seq_printf(m, "\n");
329 seq_printf(m, "Cpus_allowed_list:\t");
330 seq_cpumask_list(m, &task->cpus_allowed);
331 seq_printf(m, "\n");
332}
333
324int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, 334int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
325 struct pid *pid, struct task_struct *task) 335 struct pid *pid, struct task_struct *task)
326{ 336{
@@ -335,6 +345,7 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
335 } 345 }
336 task_sig(m, task); 346 task_sig(m, task);
337 task_cap(m, task); 347 task_cap(m, task);
348 task_cpus_allowed(m, task);
338 cpuset_task_status_allowed(m, task); 349 cpuset_task_status_allowed(m, task);
339#if defined(CONFIG_S390) 350#if defined(CONFIG_S390)
340 task_show_regs(m, task); 351 task_show_regs(m, task);
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 7e75a41bd508..b81f7f096e1c 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -2499,15 +2499,9 @@ const struct file_operations proc_cpuset_operations = {
2499}; 2499};
2500#endif /* CONFIG_PROC_PID_CPUSET */ 2500#endif /* CONFIG_PROC_PID_CPUSET */
2501 2501
2502/* Display task cpus_allowed, mems_allowed in /proc/<pid>/status file. */ 2502/* Display task mems_allowed in /proc/<pid>/status file. */
2503void cpuset_task_status_allowed(struct seq_file *m, struct task_struct *task) 2503void cpuset_task_status_allowed(struct seq_file *m, struct task_struct *task)
2504{ 2504{
2505 seq_printf(m, "Cpus_allowed:\t");
2506 seq_cpumask(m, &task->cpus_allowed);
2507 seq_printf(m, "\n");
2508 seq_printf(m, "Cpus_allowed_list:\t");
2509 seq_cpumask_list(m, &task->cpus_allowed);
2510 seq_printf(m, "\n");
2511 seq_printf(m, "Mems_allowed:\t"); 2505 seq_printf(m, "Mems_allowed:\t");
2512 seq_nodemask(m, &task->mems_allowed); 2506 seq_nodemask(m, &task->mems_allowed);
2513 seq_printf(m, "\n"); 2507 seq_printf(m, "\n");