|
|
Subscribe / Log in / New account

x86: enlightenment for ticket spinlocks

From:  "Jan Beulich" <JBeulich@novell.com>
To:  <mingo@elte.hu>, <tglx@linutronix.de>, <hpa@zytor.com>
Subject:  [PATCH 0/3] x86: enlightenment for ticket spinlocks
Date:  Fri, 29 Jan 2010 08:00:13 +0000
Cc:  "Jeremy Fitzhardinge" <jeremy@goop.org>, <linux-kernel@vger.kernel.org>

With the pv-ops based spinlocks reportedly having measurable overhead
on native execution, and with them also not easily fit (at least) fully
virtualized Xen guests, this patch series introduces a replacement
mechanism based on alternative instruction patching, and then uses it
for fully virtualized Xen guests. While coded to be orthogonal to
pv-ops, it really isn't, and it shouldn't be difficult to make pv-ops guests
use this in place of pv-ops spin locks.

The only additional overhead this introduces for native execution is
the writing of the owning CPU in the lock acquire paths. If this is
considered a problem, even that code could be eliminated for native
execution (by further alternative instruction patching).

(1) base implementation
(2) Xen implementation
(3) [optional] eliminate on NOPs in unlock path (introduced in (1))

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

[2. text/plain; linux-2.6.33-rc5-virt-spinlocks-xen.patch]...

[3. text/plain; linux-2.6.33-rc5-virt-spinlocks-base.patch]...

[4. text/plain; linux-2.6.33-rc5-virt-spinlocks-no-nop.patch]...



Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds