lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 18 May 2012 13:01:41 +0200
From:	Pascal Chapperon <pascal.chapperon@...adoo.fr>
To:	paulmck@...ux.vnet.ibm.com
CC:	Josh Boyer <jwboyer@...hat.com>, linux-kernel@...r.kernel.org,
	kernel-team@...oraproject.org
Subject: Re: RCU related performance regression in 3.3

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:
>> 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:
>>>>> Le 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.
>>>>>>
>>>>>> 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
>>>>>>
>>>>> I applied your global patch on top of v3.4-rc4. But the slowdown is
>>>>> 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
>>>>
>>>>
>>> Yes. Exactly same kernel config as in previous results, I applied
>>> 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
>
Hi 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
.
Do you want the rcu tracing log for this patch ?

Pascal

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ