mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Amerigo Wang <xiyou.wangcong@gmail.com>
To: Michael Abbott <michael@araneidae.co.uk>
Cc: Amerigo Wang <xiyou.wangcong@gmail.com>,
	Jan Engelhardt <jengelh@medozas.de>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Re: /proc/uptime idle counter remains at 0
Date: Mon, 17 Aug 2009 14:23:24 +0800	[thread overview]
Message-ID: <20090817062324.GN5039@cr0.nay.redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0908170707550.1592@venus.araneidae.co.uk>

On Mon, Aug 17, 2009 at 07:12:36AM +0100, Michael Abbott wrote:
>On Mon, 17 Aug 2009, Amerigo Wang wrote:
>> On Fri, Aug 14, 2009 at 01:18:08PM +0100, Michael Abbott wrote:
>> >commit 6d67e34f45a92f347388e35bd84bf0361e660d3b
>> >Author: Michael Abbott <michael.abbott@diamond.ac.uk>
>> >Date:   Mon May 11 07:14:19 2009 +0100
>> >
>> >    Fix idle time field in /proc/uptime
>> >    
>> >    Git commit 79741dd changes idle cputime accounting, but unfortunately
>> >    the /proc/uptime file hasn't caught up.  Here the idle time calculation
>> >    from /proc/stat is copied over.  Further changes from commit e1c8053
>> >    are also included in this fix.
>> >    
>> >    Signed-off-by: Michael Abbott <michael.abbott@diamond.ac.uk>
>> >
>> >diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
>> >index 0c10a0b..be286b4 100644
>> >--- a/fs/proc/uptime.c
>> >+++ b/fs/proc/uptime.c
>> >@@ -4,22 +4,32 @@
>> > #include <linux/sched.h>
>> > #include <linux/seq_file.h>
>> > #include <linux/time.h>
>> >+#include <linux/kernel_stat.h>
>> > #include <asm/cputime.h>
>> >+#include <asm/div64.h>
>> > 
>> > static int uptime_proc_show(struct seq_file *m, void *v)
>> > {
>> > 	struct timespec uptime;
>> >-	struct timespec idle;
>> >-	cputime_t idletime = cputime_add(init_task.utime, init_task.stime);
>> >+	int i;
>> >+	cputime64_t idle = cputime64_zero;
>> >+	unsigned long int idle_mod;
>> >+
>> >+	for_each_possible_cpu(i) {
>> >+		idle = cputime64_add(idle, kstat_cpu(i).cpustat.idle);
>> >+#ifdef arch_idle_time
>> >+		idle = cputime64_add(idle, arch_idle_time(i));
>> >+#endif
>> 
>> 
>> This ugly #ifdef can be removed, check fs/proc/stat.c.
>
>I'm sorry?  Are you sure?  Here is what fs/proc/stat.c has to say:
>
>#ifndef arch_idle_time
>#define arch_idle_time(cpu) 0
>#endif
>...
>		idle = cputime64_add(idle, arch_idle_time(i));
>
>
>I think what you're actually saying is the #ifdef can be moved to 
>somewhere where it can be easily missed.  For this very reason, I'd rather 
>be more explicit about it.

Yes, indeed.

I was suggesting to move that #ifdef into some header so that
both two files can use it. For me, this is the better fix.

Thanks.

  reply	other threads:[~2009-08-17  6:21 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-09  8:05 Jan Engelhardt
2009-05-10 17:12 ` Martin Schwidefsky
2009-05-11  0:46   ` Jan Engelhardt
2009-05-11  6:23     ` [PATCH] " Michael Abbott
2009-05-11  7:35       ` Martin Schwidefsky
2009-05-11  7:42         ` Jan Engelhardt
2009-05-11  8:10           ` Martin Schwidefsky
2009-05-11  9:07       ` Michael Abbott
2009-05-11  7:23     ` Martin Schwidefsky
2009-08-14 12:18 ` [PATCH] " Michael Abbott
2009-08-17  5:25   ` Amerigo Wang
2009-08-17  6:12     ` Michael Abbott
2009-08-17  6:23       ` Amerigo Wang [this message]
2009-08-17  6:58         ` Michael Abbott
2009-08-17  8:23           ` Amerigo Wang
2009-09-09  5:58   ` Andrew Morton
2009-09-09  8:02     ` Martin Schwidefsky
2009-09-10 13:02     ` Johan van Baarlen
2009-09-10 15:37       ` Martin Schwidefsky
2009-09-10 16:27         ` Michael Abbott
2009-05-18 13:23 Michael Abbott
2009-05-18 14:00 ` Martin Schwidefsky
2009-05-25 10:28 ` Martin Schwidefsky
2009-07-06 15:48   ` Michael Abbott
2009-07-06 15:56     ` Jan Engelhardt
2009-07-06 16:09       ` Michael Abbott

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090817062324.GN5039@cr0.nay.redhat.com \
    --to=xiyou.wangcong@gmail.com \
    --cc=jengelh@medozas.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael@araneidae.co.uk \
    --cc=schwidefsky@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®