Ingo, Balbir, Any comments on this? Can you please take a look? Thanks, Naveen
On 2015/05/25 12:42PM, Naveen N Rao wrote: > /proc/<pid>/schedstat is currently only available if CONFIG_SCHEDSTATS is > enabled. But, all the fields that this exposes are available and valid > if CONFIG_TASK_DELAY_ACCT is enabled as well. > > Signed-off-by: Naveen N. Rao <naveen.n....@linux.vnet.ibm.com> > --- > fs/proc/base.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/fs/proc/base.c b/fs/proc/base.c > index 093ca14..3ece303 100644 > --- a/fs/proc/base.c > +++ b/fs/proc/base.c > @@ -304,14 +304,17 @@ static int proc_pid_stack(struct seq_file *m, struct > pid_namespace *ns, > } > #endif > > -#ifdef CONFIG_SCHEDSTATS > +#if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) > /* > * Provides /proc/PID/schedstat > */ > static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns, > struct pid *pid, struct task_struct *task) > { > - seq_printf(m, "%llu %llu %lu\n", > + if (unlikely(!sched_info_on())) > + seq_printf(m, "0 0 0\n"); > + else > + seq_printf(m, "%llu %llu %lu\n", > (unsigned long long)task->se.sum_exec_runtime, > (unsigned long long)task->sched_info.run_delay, > task->sched_info.pcount); > @@ -2600,7 +2603,7 @@ static const struct pid_entry tgid_base_stuff[] = { > #ifdef CONFIG_STACKTRACE > ONE("stack", S_IRUSR, proc_pid_stack), > #endif > -#ifdef CONFIG_SCHEDSTATS > +#if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) > ONE("schedstat", S_IRUGO, proc_pid_schedstat), > #endif > #ifdef CONFIG_LATENCYTOP > @@ -2948,7 +2951,7 @@ static const struct pid_entry tid_base_stuff[] = { > #ifdef CONFIG_STACKTRACE > ONE("stack", S_IRUSR, proc_pid_stack), > #endif > -#ifdef CONFIG_SCHEDSTATS > +#if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) > ONE("schedstat", S_IRUGO, proc_pid_schedstat), > #endif > #ifdef CONFIG_LATENCYTOP > -- > 2.4.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/