On Fri, May 18, 2012 at 01:01:41PM +0200, Pascal Chapperon wrote:Le 15/05/2012 00:32, Paul E. McKenney a Ãcrit :On Fri, May 04, 2012 at 04:14:42PM -0700, Paul E. McKenney wrote:Hi Paul,On Fri, May 04, 2012 at 11:41:13PM +0200, Pascal Chapperon wrote:Le 04/05/2012 17:04, Paul E. McKenney a Ãcrit :On Fri, May 04, 2012 at 04:42:54PM +0200, Pascal Chapperon wrote:Yes. Exactly same kernel config as in previous results, I appliedLe 01/05/2012 17:45, Paul E. McKenney a Ãcrit :
Here is my RCU_FAST_NO_HZ patch stack on top of v3.4-rc4.I applied your global patch on top of v3.4-rc4. But the slowdown is
Or you can pull branch fnh.2012.05.01a from:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
Thanx, Paul
worse than before : boot sequence took 80s instead 20-30s (12s for
initramfs instead of 2s).
I'll send you rcu tracing log in a second mail.
Hmmm... Well, I guess I am glad that I finally did something that
had an effect, but I sure wish that the effect had been in the other
direction!
Just to make sure I understand: the difference between the 20-30s and
the 80s is exactly the patch I sent you?
Thanx, Paul
your patch against v3.4-rc4, and sorry, the result is exactly what I
said;
I saw that your global patch was quite huge, and addresses things which
are not directly related with the initial patch (commit
7cb92499000e3c86dae653077b1465458a039ef6); maybe a side effect?
However, I'm ready to try this patch on my smaller laptop which
supports well CONFIG_FAST_NO_HZ=y and systemd, if you think it can
help ?
Another thought: this issue as nothing to do with i7 Hyper-threading
capacities ? (as I test core2duo, Pentium ulv in same conditions and I
don't encountered any slowdown ?)
Well, one possibility is that your setup starts the jiffies counter
at some interesting value. The attached patch (also against v3.4-rc4)
applies a bit more paranoia to the initialization to handle this
and other possibilities.
This patchset fixes the problem where RCU_FAST_NO_HZ's timers were
being ignored due to the dyntick-idle code having already calculated
the CPU's wakeup time (which I sent earlier, mistakenly offlist), but
also fixes a botched check in my workaround.
Could you please try it out? This patch is against 3.4-rc4.
Thanx, Paul
< + if (!rcu_cpu_has_nonlazy_callbacks(cpu))
---
+ if (rcu_cpu_has_nonlazy_callbacks(cpu))
I was a little disappointed by the previous patch (boot sequence still
took 72 s.), but this one makes a huge difference ;-)
Slowdown during boot or shutdown with CONFIG_RCU_FAST_NO_HZ has
disappeared (~ 10 attempts) :
# systemd-analyze
Startup finished in 1990ms (kernel) + 1174ms (initramfs) + 3121ms
(userspace) = 6285ms
.
Very good! And thank you very much for all your testing efforts and
for bearing with me through this!
Does this mean that I can add your Tested-by?
I'll send you the logs in a second mail (offlist).
Do you want the rcu tracing log for this patch ?
Could you please? Just in case there is some other surprise that
I should know about that might not be visible. ;-)
Thanx, Paul