Messages in this thread | | | Date | Wed, 18 Mar 2015 15:07:34 -0700 | From | Andrew Morton <> | Subject | Re: [RFC V2] proc: change /proc/stat show |
| |
On Wed, 18 Mar 2015 10:35:39 +0800 "Wang, Yalin" <Yalin.Wang@sonymobile.com> wrote:
> This patch change /proc/stat to show each cpu, > we show each present cpus instead of eacn online cpu, > because some cpus are online / offline dynamically, > we should also show its cputime even it is offline, > some lib will read this file to detect cpu numbers, > we should also return the real present cpu numbers, > not just online cpus.
/proc/cpuinfo also skips offline CPUs.
> --- a/fs/proc/stat.c > +++ b/fs/proc/stat.c > @@ -130,7 +130,7 @@ static int show_stat(struct seq_file *p, void *v) > seq_put_decimal_ull(p, ' ', cputime64_to_clock_t(guest_nice)); > seq_putc(p, '\n'); > > - for_each_online_cpu(i) { > + for_each_present_cpu(i) { > /* Copy values here to work around gcc-2.95.3, gcc-2.96 */ > user = kcpustat_cpu(i).cpustat[CPUTIME_USER]; > nice = kcpustat_cpu(i).cpustat[CPUTIME_NICE];
It's a non-back-compatible userspace interface change and I don't know what might break as a result. For example, anyone who is using /proc/stat to find out which CPUs are online will get a surprise!
| |