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]...