diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-09-21 05:06:27 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-21 05:37:27 -0400 |
commit | d01d4827858cdc2e1c437c87ab65ec0a00fd40f8 (patch) | |
tree | 433ed8bfdf144887129e9b0ea625c99780bedfd6 | |
parent | 0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1 (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.c | 11 | ||||
-rw-r--r-- | kernel/cpuset.c | 8 |
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 | ||
324 | static 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 | |||
324 | int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, | 334 | int 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. */ |
2503 | void cpuset_task_status_allowed(struct seq_file *m, struct task_struct *task) | 2503 | void 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"); |