aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/base.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-07-04 11:56:53 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-07-04 11:56:53 -0400
commit22a093b2fb52fb656658a32adc80c24ddc200ca4 (patch)
treed0edd1065ee10369ca204404e43bdeece71d3d5e /fs/proc/base.c
parentc1776a18e3b5a3559f3dff5df0ecce570abd3a9f (diff)
parent397f2378f136128623fc237746157aa2564d1082 (diff)
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar: "Debug info and other statistics fixes and related enhancements" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/numa: Fix numa balancing stats in /proc/pid/sched sched/numa: Show numa_group ID in /proc/sched_debug task listings sched/debug: Move print_cfs_rq() declaration to kernel/sched/sched.h sched/stat: Expose /proc/pid/schedstat if CONFIG_SCHED_INFO=y sched/stat: Simplify the sched_info accounting dependency
Diffstat (limited to 'fs/proc/base.c')
-rw-r--r--fs/proc/base.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 1d540b3f226f..87782e874b6a 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -491,14 +491,17 @@ static int proc_pid_stack(struct seq_file *m, struct pid_namespace *ns,
491} 491}
492#endif 492#endif
493 493
494#ifdef CONFIG_SCHEDSTATS 494#ifdef CONFIG_SCHED_INFO
495/* 495/*
496 * Provides /proc/PID/schedstat 496 * Provides /proc/PID/schedstat
497 */ 497 */
498static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns, 498static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns,
499 struct pid *pid, struct task_struct *task) 499 struct pid *pid, struct task_struct *task)
500{ 500{
501 seq_printf(m, "%llu %llu %lu\n", 501 if (unlikely(!sched_info_on()))
502 seq_printf(m, "0 0 0\n");
503 else
504 seq_printf(m, "%llu %llu %lu\n",
502 (unsigned long long)task->se.sum_exec_runtime, 505 (unsigned long long)task->se.sum_exec_runtime,
503 (unsigned long long)task->sched_info.run_delay, 506 (unsigned long long)task->sched_info.run_delay,
504 task->sched_info.pcount); 507 task->sched_info.pcount);
@@ -2787,7 +2790,7 @@ static const struct pid_entry tgid_base_stuff[] = {
2787#ifdef CONFIG_STACKTRACE 2790#ifdef CONFIG_STACKTRACE
2788 ONE("stack", S_IRUSR, proc_pid_stack), 2791 ONE("stack", S_IRUSR, proc_pid_stack),
2789#endif 2792#endif
2790#ifdef CONFIG_SCHEDSTATS 2793#ifdef CONFIG_SCHED_INFO
2791 ONE("schedstat", S_IRUGO, proc_pid_schedstat), 2794 ONE("schedstat", S_IRUGO, proc_pid_schedstat),
2792#endif 2795#endif
2793#ifdef CONFIG_LATENCYTOP 2796#ifdef CONFIG_LATENCYTOP
@@ -3135,7 +3138,7 @@ static const struct pid_entry tid_base_stuff[] = {
3135#ifdef CONFIG_STACKTRACE 3138#ifdef CONFIG_STACKTRACE
3136 ONE("stack", S_IRUSR, proc_pid_stack), 3139 ONE("stack", S_IRUSR, proc_pid_stack),
3137#endif 3140#endif
3138#ifdef CONFIG_SCHEDSTATS 3141#ifdef CONFIG_SCHED_INFO
3139 ONE("schedstat", S_IRUGO, proc_pid_schedstat), 3142 ONE("schedstat", S_IRUGO, proc_pid_schedstat),
3140#endif 3143#endif
3141#ifdef CONFIG_LATENCYTOP 3144#ifdef CONFIG_LATENCYTOP