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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110906203338.GL7761@one.firstfloor.org>
Date:	Tue, 6 Sep 2011 22:33:38 +0200
From:	Andi Kleen <andi@...stfloor.org>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	Andi Kleen <andi@...stfloor.org>, linux-kernel@...r.kernel.org,
	Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH 1/3] clockevents: Use an atomic RCU notifier for clockevents

On Tue, Sep 06, 2011 at 09:23:55PM +0200, Thomas Gleixner wrote:
> On Mon, 29 Aug 2011, Andi Kleen wrote:
> 
> > From: Andi Kleen <ak@...ux.intel.com>
> > 
> > Use an atomic_notifier instead of a raw_notifier for the clockevents
> > notification.
> > 
> > This avoids a global lock in the idle path, is a scalability
> > problem. With this patch we don't have a global lock anymore
> > at least on systems with an always running timer.
> 
> And why is that code called on a system with an always running local
> apic timer at all? The broadcast horror is explicitely only for those
> systems with wreckaged hardware.

Because the notifier is before the check for always running local apic timer.

clockevents_notify ->
clockevents_do_notify ->           
	raw_spin_lock_irqsave(&clockevents_lock, flags);
	clockevents_do_notify(reason, arg);

tick_notifier ->
tick_notify -> 
tick_broadcast_on_off -> 
tick_do_broadcast_on_off

	/* check */
	if (!dev || !(dev->features & CLOCK_EVT_FEAT_C3STOP))
		goto out;

You also get bonus points for a incredible convoluted call chain,
about 50% of it being unnecessary and full of scalability problems.

-Andi
--
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