From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Damien Wyart <damien.wyart@free.fr>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Mike Galbraith <efault@gmx.de>, "Rafael J. Wysocki" <rjw@sisk.pl>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Kernel Testers List <kernel-testers@vger.kernel.org>
Subject: Re: [Bug #12650] Strange load average and ksoftirqd behavior with 2.6.29-rc2-git1
Date: Tue, 17 Feb 2009 17:02:20 -0800 [thread overview]
Message-ID: <20090218010220.GW6761@linux.vnet.ibm.com> (raw)
In-Reply-To: <20090218003801.GD25856@elte.hu>
On Wed, Feb 18, 2009 at 01:38:01AM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
>
> > No, it was my confusion -- I later realized that your data
> > above meant that the force-quiescent-state code path was not
> > being heavily exercised. So no need for this trace!
>
> Do you have any theory for why RCU was activated every 100-200
> microseconds, resulting in 20% ksoftirqd CPU use - and why the
> problem went away with classic-rcu?
RCU was activated every 100-200 microseconds because the x86 32-bit
idle loop would call rcu_pending() and rcu_check_callbacks() in a tight
loop under some conditions. This was happening to both classic and
tree RCU, but classic RCU has a more exact rcu_pending() check, and so
classic RCU's rcu_pending() always returns false, so that classic RCU's
rcu_check_callbacks() was never invoked, so that the raise_softirq()
is never called, so that control never passed to ksoftirqd, so that
things like "uptime" could not see the activity.
But the activity was occurring with classic RCU nevertheless.
</useful information>
<aside>
Interestingly enough, this is actually a symptom of a theoretical bug
in classic RCU (noted by Manfred Spraul some months ago). Classic RCU
assumes that interrupts from dynticks idle mode don't run long enough
to run through a full grace period (which, in absence of truly broken
driver code, they do not). Therefore, classic RCU removes all dynticks
idle CPUs from considation at the beginning of each grace period, so
that classic RCU's rcu_pending() doesn't have to concern itself with
other dyntick-idle CPUs.
When rcu_pending() is invoked once per jiffy, the additional checking
that tree RCU must do is in the noise, but not so when called repeatedly
from the idle loop.
</aside>
Thanx, Paul
next prev parent reply other threads:[~2009-02-18 1:02 UTC|newest]
Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-14 20:35 2.6.29-rc5: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-14 20:35 ` [Bug #12414] iwl4965 cannot use "ap auto" on latest 2.6.28/29? Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12444] X hangs following switch from radeonfb console - Bisected Rafael J. Wysocki
2009-02-16 17:52 ` Graham Murray
2009-02-16 21:52 ` Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12490] ath5k related kernel panic in 2.6.29-rc1 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12419] possible circular locking dependency on i915 dma Rafael J. Wysocki
2009-02-16 3:50 ` Wang Chen
2009-02-14 20:38 ` [Bug #12418] Repeated ioctl(4, 0x40046445, ..) loop in glxgears Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12499] Problem with using bluetooth adaper connected to usb port Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12494] Sony backlight regression from 2.6.28 to 29-rc Rafael J. Wysocki
2009-02-17 10:51 ` Norbert Preining
2009-02-14 20:38 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12496] swsusp cannot find resume device (sometimes) Rafael J. Wysocki
2009-02-15 0:05 ` Arjan van de Ven
2009-02-15 14:23 ` Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12497] new barrier warnings in 2.6.29-rc1 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12510] 2.6.29-rc2 dies on startup Rafael J. Wysocki
2009-02-16 21:02 ` Ferenc Wagner
2009-02-16 21:12 ` Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12551] end_request: I/O error, dev cciss/c0d0, sector 87435720 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12502] pipe_read oops on sh Rafael J. Wysocki
2009-02-15 0:23 ` Adrian McMenamin
2009-02-15 14:27 ` Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12501] build bug in eeepc-laptop.c Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12610] sync-Regression in 2.6.28.2? Rafael J. Wysocki
2009-02-21 17:56 ` Theodore Tso
2009-02-22 10:02 ` Rafael J. Wysocki
2009-02-23 4:35 ` Greg KH
2009-02-23 5:37 ` Theodore Tso
2009-02-23 16:54 ` [stable] " Greg KH
2009-02-14 20:38 ` [Bug #12609] v2.6.29-rc2 libata sff 32bit PIO regression Rafael J. Wysocki
2009-02-15 4:20 ` Larry Finger
2009-02-15 8:10 ` Jeff Garzik
2009-02-15 12:05 ` Sergei Shtylyov
2009-02-15 16:48 ` Hugh Dickins
2009-02-14 20:38 ` [Bug #12571] Suspend-resume on Dell Latitude D410 newly broken in 2.6.29-rc* Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12613] [Suspend regression][DRM, RADEON] Rafael J. Wysocki
[not found] ` <4997E7D7.60205@numericable.fr>
2009-02-15 10:20 ` etienne
2009-02-14 20:38 ` [Bug #12615] boot hangs while bringing up gianfar ethernet Rafael J. Wysocki
2009-02-15 14:42 ` Peter Korsgaard
2009-02-15 21:08 ` Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12659] Failure to resume two Sandisk USB flash drives attached to a Belkin USB Busport Mobile (F5U022) Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12618] hackbench [pthread mode] regression with 2.6.29-rc3 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12650] Strange load average and ksoftirqd behavior with 2.6.29-rc2-git1 Rafael J. Wysocki
2009-02-15 8:09 ` Damien Wyart
2009-02-15 9:00 ` Ingo Molnar
2009-02-15 9:51 ` Damien Wyart
2009-02-15 10:13 ` Ingo Molnar
2009-02-15 10:34 ` Damien Wyart
2009-02-15 10:41 ` Damien Wyart
2009-02-15 10:42 ` Damien Wyart
2009-02-15 10:43 ` Damien Wyart
2009-02-15 11:01 ` Ingo Molnar
2009-02-15 14:06 ` Frederic Weisbecker
2009-02-15 18:03 ` Damien Wyart
2009-02-15 19:18 ` Damien Wyart
2009-02-15 19:31 ` Ingo Molnar
2009-02-16 8:42 ` Damien Wyart
2009-02-16 9:21 ` Ingo Molnar
2009-02-16 10:49 ` Damien Wyart
2009-02-16 9:25 ` Ingo Molnar
2009-02-16 9:27 ` Ingo Molnar
2009-02-16 9:32 ` Ingo Molnar
2009-02-16 9:50 ` Ingo Molnar
2009-02-16 11:56 ` Damien Wyart
2009-02-16 12:26 ` Ingo Molnar
2009-02-16 13:02 ` Damien Wyart
2009-02-16 13:21 ` Ingo Molnar
2009-02-16 16:06 ` Paul E. McKenney
2009-02-16 18:56 ` Paul E. McKenney
2009-02-16 19:08 ` Frederic Weisbecker
2009-02-16 20:02 ` Frederic Weisbecker
2009-02-16 21:31 ` Paul E. McKenney
2009-02-16 20:09 ` Ingo Molnar
2009-02-16 22:39 ` Paul E. McKenney
2009-02-16 22:51 ` Paul E. McKenney
2009-02-17 9:46 ` Ingo Molnar
2009-02-17 14:01 ` Paul E. McKenney
2009-02-17 15:39 ` Damien Wyart
2009-02-17 16:05 ` Paul E. McKenney
2009-02-17 21:48 ` Ingo Molnar
2009-02-17 4:34 ` Frederic Weisbecker
2009-02-17 15:10 ` Paul E. McKenney
2009-02-17 16:00 ` Frederic Weisbecker
2009-02-17 22:37 ` Frederic Weisbecker
2009-02-17 22:48 ` Paul E. McKenney
2009-02-18 0:38 ` Ingo Molnar
2009-02-18 1:02 ` Paul E. McKenney [this message]
2009-02-17 6:11 ` Damien Wyart
2009-02-17 15:11 ` Paul E. McKenney
2009-02-16 20:44 ` Damien Wyart
2009-02-15 10:12 ` Christian Kujau
2009-02-15 10:54 ` Ingo Molnar
2009-02-14 20:38 ` [Bug #12617] unable to compile e100 firmware into kernel Rafael J. Wysocki
2009-02-15 17:38 ` David Woodhouse
2009-02-15 19:58 ` Andrey Borzenkov
2009-02-15 21:09 ` Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12668] USB flash disk surprise disconnect Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12660] Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad T43p Rafael J. Wysocki
2009-02-14 23:29 ` Mathieu Desnoyers
2009-02-14 20:38 ` [Bug #12663] Commit 8c7e58e690ae60ab4215b025f433ed4af261e103 breaks resume Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12681] s2ram: fails to wake up on Acer Extensa 4220 (SMP disabled) Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12670] BUG: unable to handle kernel paging request at pin_to_kill+0x21 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12680] Not having a VIA PadLock hardware incurs a long delay in probing on modules insertion attempt Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12671] uvc_status_cleanup(): undefined reference to `input_unregister_device' Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12706] Oopses and ACPI problems (Linus 2.6.29-rc4) Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12705] X200: Brightness broken since 2.6.29-rc4-58-g4c098bc Rafael J. Wysocki
2009-02-15 13:43 ` Matthew Garrett
2009-02-15 14:37 ` Rafael J. Wysocki
2009-02-17 23:05 ` Eric Anholt
2009-02-17 23:13 ` Matthew Garrett
2009-02-17 23:23 ` Jesse Barnes
2009-02-18 9:36 ` Nico Schottelius
2009-02-13 9:33 ` Nico Schottelius
2009-02-13 9:40 ` Nico Schottelius
2009-02-13 13:43 ` Matthew Garrett
2009-03-10 2:28 ` Eric Anholt
2009-03-10 5:38 ` Nico Schottelius
2009-02-13 9:42 ` Ingo Molnar
2009-02-13 18:05 ` Len Brown
2009-02-16 9:06 ` ZhangRui
2009-02-16 10:58 ` Nico Schottelius
2009-02-16 13:13 ` Nico Schottelius
2009-02-16 21:40 ` Norbert Preining
2009-02-16 15:54 ` Nico Schottelius
2009-02-19 9:01 ` Nico Schottelius
2009-02-16 7:29 ` 2.6.29-rc5: Reported regressions from 2.6.28 Jarek Poplawski
2009-02-16 21:11 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2009-02-08 19:05 2.6.29-rc4: " Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12650] Strange load average and ksoftirqd behavior with 2.6.29-rc2-git1 Rafael J. Wysocki
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=20090218010220.GW6761@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=damien.wyart@free.fr \
--cc=efault@gmx.de \
--cc=fweisbec@gmail.com \
--cc=kernel-testers@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rjw@sisk.pl \
/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).