From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757274AbbCRWHi (ORCPT ); Wed, 18 Mar 2015 18:07:38 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:39363 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757100AbbCRWHg (ORCPT ); Wed, 18 Mar 2015 18:07:36 -0400 Date: Wed, 18 Mar 2015 15:07:34 -0700 From: Andrew Morton 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 Message-Id: <20150318150734.f725e75a307601c6214e5b73@linux-foundation.org> In-Reply-To: <35FD53F367049845BC99AC72306C23D104A310D42373@CNBJMBX05.corpusers.net> References: <35FD53F367049845BC99AC72306C23D104A310D42371@CNBJMBX05.corpusers.net> <35FD53F367049845BC99AC72306C23D104A310D42372@CNBJMBX05.corpusers.net> <35FD53F367049845BC99AC72306C23D104A310D42373@CNBJMBX05.corpusers.net> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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!