• Pan Xinhui's avatar
    x86/kvm: Support the vCPU preemption check · 1885aa70
    Pan Xinhui authored
    Support the vcpu_is_preempted() functionality under KVM. This will
    enhance lock performance on overcommitted hosts (more runnable vCPUs
    than physical CPUs in the system) as doing busy waits for preempted
    vCPUs will hurt system performance far worse than early yielding.
    
    struct kvm_steal_time::preempted indicates that if one vCPU is running or
    not after commit "x86, kvm/x86.c: support vCPU preempted check".
    
     unix benchmark result:
     host:  kernel 4.8.1, i5-4570, 4 cpus
     guest: kernel 4.8.1, 8 vcpus
    
             test-case                       after-patch       before-patch
     Execl Throughput                       |    18307.9 lps  |    11701.6 lps
     File Copy 1024 bufsize 2000 maxblocks  |  1352407.3 KBps |   790418.9 KBps
     File Copy 256 bufsize 500 maxblocks    |   367555.6 KBps |   222867.7 KBps
     File Copy 4096 bufsize 8000 maxblocks  |  3675649.7 KBps |  1780614.4 KBps
     Pipe Throughput                        | 11872208.7 lps  | 11855628.9 lps
     Pipe-based Context Switching           |  1495126.5 lps  |  1490533.9 lps
     Process Creation                       |    29881.2 lps  |    28572.8 lps
     Shell Scripts (1 concurrent)           |    23224.3 lpm  |    22607.4 lpm
     Shell Scripts (8 concurrent)           |     3531.4 lpm  |     3211.9 lpm
     System Call Overhead                   | 10385653.0 lps  | 10419979.0 lps
    Signed-off-by: default avatarPan Xinhui <xinhui.pan@linux.vnet.ibm.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Cc: David.Laight@ACULAB.COM
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: benh@kernel.crashing.org
    Cc: boqun.feng@gmail.com
    Cc: borntraeger@de.ibm.com
    Cc: bsingharora@gmail.com
    Cc: dave@stgolabs.net
    Cc: jgross@suse.com
    Cc: kernellwp@gmail.com
    Cc: konrad.wilk@oracle.com
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: mpe@ellerman.id.au
    Cc: paulmck@linux.vnet.ibm.com
    Cc: paulus@samba.org
    Cc: rkrcmar@redhat.com
    Cc: virtualization@lists.linux-foundation.org
    Cc: will.deacon@arm.com
    Cc: xen-devel-request@lists.xenproject.org
    Cc: xen-devel@lists.xenproject.org
    Link: http://lkml.kernel.org/r/1478077718-37424-10-git-send-email-xinhui.pan@linux.vnet.ibm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    1885aa70
kvm.c 14.3 KB