linux/virt/kvm
Raghavendra K T 06e48c510a KVM: Choose better candidate for directed yield
Currently, on a large vcpu guests, there is a high probability of
yielding to the same vcpu who had recently done a pause-loop exit or
cpu relax intercepted. Such a yield can lead to the vcpu spinning
again and hence degrade the performance.

The patchset keeps track of the pause loop exit/cpu relax interception
and gives chance to a vcpu which:
 (a) Has not done pause loop exit or cpu relax intercepted at all
     (probably he is preempted lock-holder)
 (b) Was skipped in last iteration because it did pause loop exit or
     cpu relax intercepted, and probably has become eligible now
     (next eligible lock holder)

Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> # on s390x
Signed-off-by: Avi Kivity <avi@redhat.com>
2012-07-23 13:02:37 +03:00
..
assigned-dev.c KVM: Convert intx_mask_lock to spin lock 2012-03-20 12:41:24 +02:00
async_pf.c KVM: fix the race while wakeup all pv guest 2011-01-12 11:29:03 +02:00
async_pf.h KVM: Halt vcpu if page it tries to access is swapped out 2011-01-12 11:21:39 +02:00
coalesced_mmio.c KVM: make checks stricter in coalesced_mmio_in_range() 2011-12-27 11:17:07 +02:00
coalesced_mmio.h KVM: Make coalesced mmio use a device per zone 2011-09-25 19:17:57 +03:00
eventfd.c KVM: Intelligent device lookup on I/O bus 2011-09-25 19:17:59 +03:00
ioapic.c KVM: dont clear TMR on EOI 2012-04-16 20:36:38 -03:00
ioapic.h KVM: dont clear TMR on EOI 2012-04-16 20:36:38 -03:00
iodev.h KVM: remove in_range from io devices 2009-09-10 08:33:05 +03:00
iommu.c KVM: remove the unused parameter of gfn_to_pfn_memslot 2012-07-19 21:25:24 -03:00
irq_comm.c KVM: switch to symbolic name for irq_states size 2012-07-20 16:12:16 -03:00
Kconfig KVM: Add config to support ple or cpu relax optimzation 2012-07-23 13:00:53 +03:00
kvm_main.c KVM: Choose better candidate for directed yield 2012-07-23 13:02:37 +03:00