linux/arch
Marc Zyngier d241aac798 arm64: KVM: Yield CPU when vcpu executes a WFE
On an (even slightly) oversubscribed system, spinlocks are quickly
becoming a bottleneck, as some vcpus are spinning, waiting for a
lock to be released, while the vcpu holding the lock may not be
running at all.

The solution is to trap blocking WFEs and tell KVM that we're
now spinning. This ensures that other vpus will get a scheduling
boost, allowing the lock to be released more quickly. Also, using
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT slightly improves the performance
when the VM is severely overcommited.

Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2013-10-29 18:25:25 +00:00
..
alpha Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
arc Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
arm ACPI and power management fixes for 3.12-rc2 2013-09-20 15:17:14 -07:00
arm64 arm64: KVM: Yield CPU when vcpu executes a WFE 2013-10-29 18:25:25 +00:00
avr32 Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
blackfin Merge branch 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2013-09-13 07:31:38 -07:00
c6x Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
cris Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
frv Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
h8300 Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
hexagon Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
ia64 Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
m32r Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
m68k Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
metag Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
microblaze Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
mips MIPS: Fix invalid symbolic link file 2013-09-19 17:04:35 +02:00
mn10300 Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
openrisc Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
parisc Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
powerpc Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
s390 Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
score Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
sh Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
sparc Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
tile tile: remove stray blank space 2013-09-16 15:47:32 -04:00
um Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
unicore32 Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-18 11:26:17 -05:00
xtensa Xtensa patchset for v3.12 2013-09-13 10:57:48 -07:00
.gitignore
Kconfig microblaze: fix clone syscall 2013-08-13 17:57:48 -07:00