From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753707AbbCSHSQ (ORCPT ); Thu, 19 Mar 2015 03:18:16 -0400 Received: from cnbjrel01.sonyericsson.com ([219.141.167.165]:5609 "EHLO cnbjrel01.sonyericsson.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750932AbbCSHSN convert rfc822-to-8bit (ORCPT ); Thu, 19 Mar 2015 03:18:13 -0400 From: "Wang, Yalin" To: "'Andrew Morton'" CC: "'David Rientjes'" , "'heiko.carstens@de.ibm.com'" , "'tglx@linutronix.de'" , "'linux-kernel@vger.kernel.org'" Date: Thu, 19 Mar 2015 15:18:07 +0800 Subject: RE: [RFC V2] proc: change /proc/stat show Thread-Topic: [RFC V2] proc: change /proc/stat show Thread-Index: AdBhx/StaIsQyjFDQuCAeinNI7Q1FQATDXSw Message-ID: <35FD53F367049845BC99AC72306C23D104A310D42376@CNBJMBX05.corpusers.net> References: <35FD53F367049845BC99AC72306C23D104A310D42371@CNBJMBX05.corpusers.net> <35FD53F367049845BC99AC72306C23D104A310D42372@CNBJMBX05.corpusers.net> <35FD53F367049845BC99AC72306C23D104A310D42373@CNBJMBX05.corpusers.net> <20150318150734.f725e75a307601c6214e5b73@linux-foundation.org> In-Reply-To: <20150318150734.f725e75a307601c6214e5b73@linux-foundation.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Andrew Morton [mailto:akpm@linux-foundation.org] > Sent: Thursday, March 19, 2015 6:08 AM > To: Wang, Yalin > Cc: 'David Rientjes'; 'heiko.carstens@de.ibm.com'; 'tglx@linutronix.de'; > 'linux-kernel@vger.kernel.org' > Subject: Re: [RFC V2] proc: change /proc/stat show > > On Wed, 18 Mar 2015 10:35:39 +0800 "Wang, Yalin" > 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! > I see, I found on android, sysconf(_SC_NPROCESSORS_ONLN) function is implemented by read /proc/stat file, and return the online processor numbers, it will be non-compatible if I change this. Thanks for your comments.