linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	John Stultz <johnstul@us.ibm.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux 2.6.32-rc1
Date: Mon, 28 Sep 2009 19:15:06 +0200	[thread overview]
Message-ID: <20090928191506.40b61793@mschwide.boeblingen.de.ibm.com> (raw)
In-Reply-To: <alpine.LFD.2.01.0909280829100.3349@localhost.localdomain>

On Mon, 28 Sep 2009 08:39:31 -0700 (PDT)
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Mon, 28 Sep 2009, Eric Dumazet wrote:
> > Linus Torvalds a écrit :
> > > 
> > > Go wild, test it out, and let us know about any regressions you find,
> > 
> > Something seems wrong with process time accounting.
> > 
> > Following program should consume 10*8 seconds of cpu on a 8 cpu machine, but
> > with 2.6.32-rc1 numbers are crazy.
> 
> Ok, so the top-level process time looks sane _while_ the thing is running 
> (sum of all threads), but the per-thread times look broken (as if they had 
> randomly had the times of the other threads added into them - looks to me 
> like they on average had half the other threads' time accounted into 
> them).
> 
> And then at the end, it looks like the time of the threads (which was 
> over-accounted) get re-accounted back into the main process, so the final 
> time is indeed wildly inflated.
> 
> IOW, looks like we're adding thread times multiple times to other threads 
> (and then finally to the parent).
> 
> I'm adding the usual suspects to the cc, and leaving your results and 
> test-program quoted here for them.. Thomas, Martin, John - if you're not 
> the people I should blame for this, let me know.

Uh-oh.. usual suspects, eh?

For starters I run the test program on an s390 with
VIRT_CPU_ACCOUNTING=y:

time ./burn-cpu 
  PID TTY      STAT   TIME COMMAND 
 2979 pts/0    -      0:08 ./burn-cpu
    - -        Sl+    0:00 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
    - -        Rl+    0:01 -         
  PID TTY      STAT   TIME COMMAND   
 2979 pts/0    -      0:16 ./burn-cpu
    - -        Sl+    0:00 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
    - -        Rl+    0:02 -         
  PID TTY      STAT   TIME COMMAND   
 2979 pts/0    -      0:25 ./burn-cpu
    - -        Sl+    0:00 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
    - -        Rl+    0:03 -         
  PID TTY      STAT   TIME COMMAND   
 2979 pts/0    -      0:33 ./burn-cpu
    - -        Sl+    0:00 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
    - -        Rl+    0:04 -         
  PID TTY      STAT   TIME COMMAND   
 2979 pts/0    -      0:41 ./burn-cpu
    - -        Sl+    0:00 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
    - -        Rl+    0:05 -         
  PID TTY      STAT   TIME COMMAND   
 2979 pts/0    -      0:50 ./burn-cpu
    - -        Sl+    0:00 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
    - -        Rl+    0:06 -
  PID TTY      STAT   TIME COMMAND
 2979 pts/0    -      0:58 ./burn-cpu
    - -        Sl+    0:00 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
    - -        Rl+    0:07 -
  PID TTY      STAT   TIME COMMAND
 2979 pts/0    -      1:07 ./burn-cpu
    - -        Sl+    0:00 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
    - -        Rl+    0:08 -
  PID TTY      STAT   TIME COMMAND
 2979 pts/0    -      1:15 ./burn-cpu
    - -        Sl+    0:00 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
    - -        Rl+    0:09 -
  PID TTY      STAT   TIME COMMAND
 2979 pts/0    -      1:25 ./burn-cpu
    - -        S+     1:25 -

real    0m10.708s
user    1m25.051s
sys     0m0.174s

looks better, gives an average of 10.63 seconds per thread and the per
thread numbers are fine. I'll see what happens with the test case on my
pc@home.

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.


  reply	other threads:[~2009-09-28 17:15 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-27 22:34 Linux 2.6.32-rc1 Linus Torvalds
2009-09-27 23:44 ` Stephen Rothwell
2009-09-27 23:48   ` Diego Calleja
2009-09-27 23:52   ` Linus Torvalds
2009-09-28  0:17     ` Stephen Rothwell
2009-09-28  7:07 ` Eric Dumazet
2009-09-28 15:39   ` Linus Torvalds
2009-09-28 17:15     ` Martin Schwidefsky [this message]
2009-09-28 18:41       ` Eric Dumazet
2009-09-28 20:56         ` Martin Schwidefsky
2009-09-29 20:42         ` Eric Dumazet
2009-09-29 21:17           ` Linus Torvalds
2009-09-29 21:22             ` Arjan van de Ven
2009-09-29 21:56               ` Linus Torvalds
2009-09-30 15:07                 ` Arjan van de Ven
2009-09-30 15:27                   ` Eric Dumazet
2009-09-30 15:31                     ` Arjan van de Ven
2009-10-01  0:42                       ` Yuhong Bao
2009-09-30 15:57                   ` Eric Dumazet
2009-09-30 16:13                     ` Arjan van de Ven
2009-09-30 16:14                     ` Linus Torvalds
2009-09-30 18:53                       ` Ingo Molnar
2009-09-30 22:03                         ` [GIT PULL] scheduler fixes Ingo Molnar
2009-10-01  0:42                           ` Linus Torvalds
2009-10-01  0:57                             ` Linus Torvalds
2009-10-01  5:30                               ` Eric Dumazet
2009-10-01  6:11                                 ` Ingo Molnar
2009-10-01  6:18                                   ` Eric Dumazet
2009-10-01  6:42                                     ` Ingo Molnar
2009-10-01  6:59                                       ` Eric Dumazet
2009-10-01  7:28                                       ` Sam Ravnborg
2009-10-01  6:49                                 ` [tip:x86/urgent] x86: Don't generate cmpxchg8b_emu if CONFIG_X86_CMPXCHG64=y tip-bot for Eric Dumazet
2009-10-01  6:40                               ` [tip:x86/urgent] x86: Optimize cmpxchg64() at build-time some more tip-bot for Linus Torvalds
2009-10-02 16:40                               ` [GIT PULL] scheduler fixes Yuhong Bao
2009-10-01  6:05                             ` Ingo Molnar
2009-09-30 16:14                     ` Linux 2.6.32-rc1 Cyrill Gorcunov
2009-09-30 16:55                   ` Stefan Richter
2009-09-30 17:08                     ` Linus Torvalds
2009-09-30 17:40                       ` Stefan Richter
2009-09-30 19:32                   ` Ingo Molnar
2009-09-30 19:35                     ` Ingo Molnar
2009-09-30 20:16                     ` Eric Dumazet
2009-09-30 20:20                       ` Linus Torvalds
2009-09-30 20:22                         ` Ingo Molnar
2009-09-30 20:38                           ` Ingo Molnar
2009-10-01  7:18                             ` Arjan van de Ven
2009-09-30 19:37                   ` [tip:sched/urgent] x86: Provide an alternative() based cmpxchg64() tip-bot for Arjan van de Ven
2009-09-30 19:37                   ` [tip:sched/urgent] sched_clock: Fix atomicity/continuity bug by using cmpxchg64() tip-bot for Arjan van de Ven
2009-09-30 19:39                     ` Ingo Molnar
2009-09-30 19:39                   ` tip-bot for Eric Dumazet
2009-09-30 20:19                   ` Linux 2.6.32-rc1 Linus Torvalds
2009-09-30 20:24                     ` Eric Dumazet
2009-09-30 20:41                       ` Linus Torvalds
2009-09-30 20:49                         ` Ingo Molnar
2009-09-30 20:53                           ` Eric Dumazet
2009-09-30 21:00                             ` Ingo Molnar
2009-09-30 20:54                         ` Linus Torvalds
2009-09-30 21:53                         ` David Miller
2009-10-01 12:48                         ` Christoph Hellwig
2009-10-01 16:08                           ` Valdis.Kletnieks
2009-10-05 14:39                             ` Peter Zijlstra
2009-09-30 20:40                   ` [tip:sched/urgent] x86: Provide an alternative() based cmpxchg64() tip-bot for Arjan van de Ven
2009-09-30 20:58                     ` Ingo Molnar
2009-09-30 20:40                   ` [tip:sched/urgent] sched_clock: Fix atomicity/continuity bug by using cmpxchg64() tip-bot for Eric Dumazet
2009-09-30 20:55                   ` [tip:sched/urgent] x86: Provide an alternative() based cmpxchg64() tip-bot for Arjan van de Ven
2009-09-30 20:55                   ` [tip:sched/urgent] sched_clock: Fix atomicity/continuity bug by using cmpxchg64() tip-bot for Eric Dumazet
2009-09-30 21:00                   ` [tip:sched/urgent] x86: Provide an alternative() based cmpxchg64() tip-bot for Arjan van de Ven
2009-09-30 21:01                   ` [tip:sched/urgent] sched_clock: Fix atomicity/continuity bug by using cmpxchg64() tip-bot for Eric Dumazet
2009-10-05 16:00             ` [PATCH] x86: Generate cmpxchg build failures Peter Zijlstra
2009-10-05 18:51               ` Maciej Żenczykowski
2009-10-05 19:16               ` Linus Torvalds
2009-10-05 19:33                 ` Peter Zijlstra
2009-10-05 20:54                   ` Linus Torvalds
2009-10-09 14:23                   ` [tip:x86/asm] " tip-bot for Peter Zijlstra
2009-09-28 14:34 ` Linux 2.6.32-rc1 compile error Wolfgang Erig
2009-09-28 15:10   ` Jaswinder Singh Rajput
2009-09-28 15:32     ` Wolfgang Erig
2009-09-28 16:25 ` [PATCH] isdn: fix netjet/isdnhdlc build errors Randy Dunlap
2009-09-28 19:47   ` David Miller
2009-09-28 22:10 Linux 2.6.32-rc1 devzero

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=20090928191506.40b61793@mschwide.boeblingen.de.ibm.com \
    --to=schwidefsky@de.ibm.com \
    --cc=eric.dumazet@gmail.com \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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 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).