All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Chuck Ebbert <cebbert@redhat.com>, Frans Pop <elendil@planet.nl>,
	Greg KH <greg@kroah.com>,
	stable@kernel.org, linux-kernel@vger.kernel.org,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [stable] 2.6.23 regression: top displaying 9999% CPU usage
Date: Tue, 16 Oct 2007 18:29:43 +0530	[thread overview]
Message-ID: <4714B5BF.1090001@linux.vnet.ibm.com> (raw)
In-Reply-To: <200710161234.35529.borntraeger@de.ibm.com>

Christian Borntraeger wrote:
> Am Dienstag, 16. Oktober 2007 schrieb Balbir Singh:
>> I am trying to think out loud as to what the root cause of the problem
>> might be. In one of the discussion threads, I saw utime going backwards,
>> which seemed very odd, I suspect that those are rounding errors.
>>
>> I don't understand your explanation below
>>
>> Initially utime = 9, stime = 0, sum_exec_runtime = S1
>>
>> Later
>>
>> utime = 9, stime = 1, sum_exec_runtime = S2
>>
>> We can be sure that S >= (utime + stime)
> 
> I think here is the problem. How can we be sure? We cant. utime and stime
> are sampled, so they can be largely off in any direction,if the program
> sleeps often and manages to synchronize itself to the timer tick. Lets say
> a program only does a simple system call and then sleeps. So sum_exec_runtime
> is increased by lets say 1000 cycles on a 1Ghz box which means 1000ns. If now 
> the timer tick happens exactly at this moment, stime is increased by 1 tick
> = 1000000ns. 
> 

Yes, I thought of that just after I sent out my email. In the case that
you mention, the utime and stime accounting is incorrect anyway :-)
I think we need to find a better solution. I was going to propose that
we round correctly in (the divisions in)

1. task_utime()
2. clock_t_to_cputime()

I suspect we'll need to round task_utime() to p->utime if the value of
task_utime() < p->utime and the same thing for task_stime(). I've tried
reproducing the problem on my UML setup without any success. Let me
try and grab an x86 box.

> Maybe there is some magic in the code which I did not see, but obviously
> the problem exists and looking at Frans data (stime+utime) are not decreasing,
> but stime isnt and utime is. If you look at Frans data you see:
> Oct 16 11:54:48 8 10
> Oct 16 11:54:49 6 12  <-- utime
> Oct 16 11:54:50 6 12
> Oct 16 11:54:51 6 12
> Oct 16 11:54:52 8 10  <-- stime
> Oct 16 11:54:53 8 10
> Oct 16 11:54:54 8 10
> Oct 16 11:54:55 8 12
> Oct 16 11:54:56 8 12
> 
> (stime+utime) is constant. That means that S2-S1 is obviously smaller than
> one tick (See the calculation in task_stime). I am quite sure it is caused
> by changes in the sampled values p->utime and p->stime.
> 

Yes, very interesting observation.

[snip]


-- 
	Warm Regards,
	Balbir Singh
	Linux Technology Center
	IBM, ISTL

  reply	other threads:[~2007-10-16 13:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-12 20:31 2.6.23 regression: top displaying 9999% CPU usage Frans Pop
2007-10-12 21:22 ` [stable] " Greg KH
2007-10-13  7:53   ` Frans Pop
2007-10-14 20:36     ` Christian Borntraeger
2007-10-16  8:29       ` Christian Borntraeger
2007-10-16  9:30         ` Balbir Singh
2007-10-16 10:11           ` Frans Pop
2007-10-16 10:38             ` Balbir Singh
2007-10-16 10:34           ` Christian Borntraeger
2007-10-16 12:59             ` Balbir Singh [this message]
2007-10-29 12:05               ` Frans Pop
2007-10-29 12:31                 ` Balbir Singh
2007-10-29 20:04                   ` Ingo Molnar
2007-10-29 20:33                     ` Christian Borntraeger
2007-10-29 20:41                       ` Ingo Molnar
2007-10-29 21:11                         ` Peter Zijlstra
2007-10-29 21:22                         ` Frans Pop
2007-10-29 21:43                     ` Balbir Singh
2007-10-29 23:19                       ` Frans Pop
2007-10-29 23:22                         ` Ingo Molnar
2007-10-30 20:22                           ` Otavio Salvador
2007-10-29 23:24                         ` Balbir Singh
2007-10-30  5:56                       ` Christian Borntraeger
2007-10-30  6:00                         ` Balbir Singh

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=4714B5BF.1090001@linux.vnet.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cebbert@redhat.com \
    --cc=elendil@planet.nl \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=stable@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.