From: Andrew Morton <akpm@linux-foundation.org>
To: Michael Abbott <michael@araneidae.co.uk>
Cc: Jan Engelhardt <jengelh@medozas.de>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Johan van Baarlen <JF@vanbaarlen.demon.nl>
Subject: Re: [PATCH] Re: /proc/uptime idle counter remains at 0
Date: Tue, 8 Sep 2009 22:58:58 -0700 [thread overview]
Message-ID: <20090908225858.04d56dce.akpm@linux-foundation.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0908141315310.1670@venus.araneidae.co.uk>
On Fri, 14 Aug 2009 13:18:08 +0100 (BST) Michael Abbott <michael@araneidae.co.uk> wrote:
> Reviving this:
>
> On Sat, 9 May 2009, Jan Engelhardt wrote:
> > starting from v2.6.28-4930-g79741dd lasting thru at least v2.6.29.1,
> > the second field of /proc/uptime always shows 0.00. This happens for
> > both the typical i386 (my case) and on an ARM (according to Michael,
> > cc'ed).
> >
> > >From the commit log of 79741dd:
> >
> > """The cpu time spent by the idle process actually doing
> > something is currently accounted as idle time. This is plain
> > wrong, the architectures that support VIRT_CPU_ACCOUNTING=y
> > can do better: distinguish between the time spent doing
> > nothing and the time spent by idle doing work. The first is
> > accounted with account_idle_time and the second with
> > account_system_time."""
> >
> > Citing Michael from our irc conversation:
> >
> > """the writer[committer] [says] that [the] idle process time
> > isn't really idle time ... but that's all that /proc/uptime
> > looks at. I guess fs/proc/uptime.c needs to catch up."""
> >
> > So, were the updates to uptime.c missed, or do we now live on with
> > /proc/uptime constantly having 0?
>
> My previous patch seems to have run into the sand. It every so nearly got
> pulled into mainstream as far as I can tell, but didn't seem to make it;
> no idea what happened.
>
> So here we go again:
>
Imagine my surprise to find a version of this patch lurking in Martin's
tree since June 22. It's a regression fix!
Johan, does this patch help with the regression you reported in
http://bugzilla.kernel.org/show_bug.cgi?id=14131 ?
Thanks.
commit 27bf8712477db47c891e6198000c985631cd18de
Author: Michael Abbott <michael.abbott@diamond.ac.uk>
AuthorDate: Mon Jun 22 12:19:25 2009 +0200
Commit: Martin Schwidefsky <schwidefsky@de.ibm.com>
CommitDate: Mon Jun 22 12:20:44 2009 +0200
[PATCH] 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.
Signed-off-by: Michael Abbott <michael.abbott@diamond.ac.uk>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
index 0c10a0b..766b1d4 100644
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@ -4,13 +4,18 @@
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/time.h>
+#include <linux/kernel_stat.h>
#include <asm/cputime.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;
+ cputime_t idletime = cputime_zero;
+
+ for_each_possible_cpu(i)
+ idletime = cputime64_add(idletime, kstat_cpu(i).cpustat.idle);
do_posix_clock_monotonic_gettime(&uptime);
monotonic_to_bootbased(&uptime);
next prev parent reply other threads:[~2009-09-09 6:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-09 8:05 /proc/uptime idle counter remains at 0 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
2009-08-17 6:58 ` Michael Abbott
2009-08-17 8:23 ` Amerigo Wang
2009-09-09 5:58 ` Andrew Morton [this message]
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
-- strict thread matches above, loose matches on Subject: below --
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=20090908225858.04d56dce.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=JF@vanbaarlen.demon.nl \
--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;
as well as URLs for NNTP newsgroup(s).