All of lore.kernel.org
 help / color / mirror / Atom feed
* RCU related performance regression in 3.3
@ 2012-04-04 15:27 Josh Boyer
  2012-04-04 21:36 ` Paul E. McKenney
  0 siblings, 1 reply; 30+ messages in thread
From: Josh Boyer @ 2012-04-04 15:27 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, kernel-team

Hi Paul,

We've had a few reports of some boot slowdowns with the 3.3 rebase we
did in Fedora 16.  One of our users volunteered to bisect a vanilla
kernel and wound up at "rcu: Permit dyntick-idle with callbacks pending
(commit 7cb924990)".  You can find more details in the bug [1], but it's
been reported on both physical hardware and in virtual machines.

Have you seen anything like this in your testing?  Given the user used a
vanilla 3.3 kernel, I'm wondering if there is a targetted fix that might
be backported.  If so, it would be good to get that headed to the 3.3.y
stable tree.

josh

[1] https://bugzilla.redhat.com/show_bug.cgi?id=806548

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: RCU related performance regression in 3.3
@ 2012-04-27 12:15 Pascal Chapperon
  2012-04-28  3:42 ` Paul E. McKenney
  0 siblings, 1 reply; 30+ messages in thread
From: Pascal Chapperon @ 2012-04-27 12:15 UTC (permalink / raw)
  To: paulmck; +Cc: Josh Boyer, linux-kernel, kernel-team

Le 18/04/2012 17:23, Paul E. McKenney a écrit :
> On Wed, Apr 18, 2012 at 05:00:14PM +0200, Pascal Chapperon wrote:
>> Le 18/04/2012 16:01, Paul E. McKenney a écrit :
>>> On Wed, Apr 18, 2012 at 11:37:28AM +0200, Pascal Chapperon wrote:
>>>> Mount and umount operations are not slower with RCU_FAST_NO_HZ during
>>>> runtime; systemctl start and stop operations are also not slower. In
>>>> fact, i couldn't find a single operation slower during runtime with
>>>> RCU_FAST_NO_HZ.
>>>
>>> Your boot-time setup is such that all CPUs are online before the
>>> boot-time mount operations take place, right?
>> Yes :
>> [ 0.242697] Brought up 8 CPUs
>> [ 0.242699] Total of 8 processors activated (35118.33 BogoMIPS).
>>
>>> Struggling to understand
>>> how RCU can tell the difference between post-CPU-bringup boot time
>>> and run time...
>>>
>> systemd is controlling the whole boot process including mount
>> operation (apart root filesystem) and as I can see, uses heavily
>> sockets to do it (not to mention cpu-affinity). It controls also the
>> major part of umount operations. Is it possible that your patch hits
>> a systemd bug ?
> 
> Is it possible that systemd is using network operations that include
> synchronize_rcu()? Then if you did the same operation from the
> command line at runtime, you might not see the slowdown.
> 
> Is it possible for you to convince systemd to collect RCU event tracing
> during the slow operation? RCU event tracing is available under
> /sys/kernel/debug/tracing/rcu.
>
.
I have collected the RCU event tracing during a slow boot with
FAST_NO_HZ (and the same without FAST_NO_HZ, same kernel config).
The full logs and associated "systemd-analyze plot" can be found
(in comment 32) at :

https://bugzilla.redhat.com/show_bug.cgi?id=806548

With FAST_NO_HZ, almost each rcu_prep_idle is followed by ksoftirqd
(75000 ksoftirqd lines with FAST_NO_HZ, 4000 without).

Sorry, the logs are very huge, but I can't figure where are the 
plots of some interest. 

Pascal

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2012-05-18 14:48 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-04 15:27 RCU related performance regression in 3.3 Josh Boyer
2012-04-04 21:36 ` Paul E. McKenney
2012-04-05 12:37   ` Josh Boyer
2012-04-05 14:00     ` Paul E. McKenney
2012-04-05 14:15       ` Pascal CHAPPERON
2012-04-05 14:39         ` Paul E. McKenney
2012-04-06  9:18           ` Pascal Chapperon
2012-04-10 16:07             ` Paul E. McKenney
2012-04-11 15:06               ` Pascal
2012-04-12 18:04                 ` Paul E. McKenney
2012-04-16 21:02                   ` Paul E. McKenney
2012-04-18  9:37                     ` Pascal Chapperon
2012-04-18 14:01                       ` Paul E. McKenney
2012-04-18 15:00                         ` Pascal Chapperon
2012-04-18 15:23                           ` Paul E. McKenney
2012-04-20 14:45                             ` Pascal Chapperon
2012-04-27 12:15 Pascal Chapperon
2012-04-28  3:42 ` Paul E. McKenney
2012-05-01  0:02   ` Paul E. McKenney
2012-05-01  8:55     ` Pascal Chapperon
2012-05-01 15:45       ` Paul E. McKenney
2012-05-04 14:42         ` Pascal Chapperon
2012-05-04 15:04           ` Paul E. McKenney
2012-05-04 21:41             ` Pascal Chapperon
2012-05-04 23:14               ` Paul E. McKenney
2012-05-10  8:40                 ` Pascal Chapperon
2012-05-14 22:32                 ` Paul E. McKenney
2012-05-18 11:01                   ` Pascal Chapperon
2012-05-18 12:14                     ` Paul E. McKenney
2012-05-18 14:48                       ` Pascal Chapperon

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.