KVM: disable halt_poll_ns as default for s390x
We observed some performance degradation on s390x with dynamic halt polling. Until we can provide a proper fix, let's enable halt_poll_ns as default only for supported architectures. Architectures are now free to set their own halt_poll_ns default value. Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
58c95070da
commit
920552b213
@ -33,6 +33,7 @@
|
|||||||
#define KVM_PRIVATE_MEM_SLOTS 4
|
#define KVM_PRIVATE_MEM_SLOTS 4
|
||||||
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
||||||
#define KVM_HAVE_ONE_REG
|
#define KVM_HAVE_ONE_REG
|
||||||
|
#define KVM_HALT_POLL_NS_DEFAULT 500000
|
||||||
|
|
||||||
#define KVM_VCPU_MAX_FEATURES 2
|
#define KVM_VCPU_MAX_FEATURES 2
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#define KVM_USER_MEM_SLOTS 32
|
#define KVM_USER_MEM_SLOTS 32
|
||||||
#define KVM_PRIVATE_MEM_SLOTS 4
|
#define KVM_PRIVATE_MEM_SLOTS 4
|
||||||
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
||||||
|
#define KVM_HALT_POLL_NS_DEFAULT 500000
|
||||||
|
|
||||||
#include <kvm/arm_vgic.h>
|
#include <kvm/arm_vgic.h>
|
||||||
#include <kvm/arm_arch_timer.h>
|
#include <kvm/arm_arch_timer.h>
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
#define KVM_PRIVATE_MEM_SLOTS 0
|
#define KVM_PRIVATE_MEM_SLOTS 0
|
||||||
|
|
||||||
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
||||||
|
#define KVM_HALT_POLL_NS_DEFAULT 500000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#ifdef CONFIG_KVM_MMIO
|
#ifdef CONFIG_KVM_MMIO
|
||||||
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
|
||||||
#endif
|
#endif
|
||||||
|
#define KVM_HALT_POLL_NS_DEFAULT 500000
|
||||||
|
|
||||||
/* These values are internal and can be increased later */
|
/* These values are internal and can be increased later */
|
||||||
#define KVM_NR_IRQCHIPS 1
|
#define KVM_NR_IRQCHIPS 1
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
*/
|
*/
|
||||||
#define KVM_NR_IRQCHIPS 1
|
#define KVM_NR_IRQCHIPS 1
|
||||||
#define KVM_IRQCHIP_NUM_PINS 4096
|
#define KVM_IRQCHIP_NUM_PINS 4096
|
||||||
|
#define KVM_HALT_POLL_NS_DEFAULT 0
|
||||||
|
|
||||||
#define SIGP_CTRL_C 0x80
|
#define SIGP_CTRL_C 0x80
|
||||||
#define SIGP_CTRL_SCN_MASK 0x3f
|
#define SIGP_CTRL_SCN_MASK 0x3f
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
|
|
||||||
#define KVM_PIO_PAGE_OFFSET 1
|
#define KVM_PIO_PAGE_OFFSET 1
|
||||||
#define KVM_COALESCED_MMIO_PAGE_OFFSET 2
|
#define KVM_COALESCED_MMIO_PAGE_OFFSET 2
|
||||||
|
#define KVM_HALT_POLL_NS_DEFAULT 500000
|
||||||
|
|
||||||
#define KVM_IRQCHIP_NUM_PINS KVM_IOAPIC_NUM_PINS
|
#define KVM_IRQCHIP_NUM_PINS KVM_IOAPIC_NUM_PINS
|
||||||
|
|
||||||
|
@ -66,8 +66,8 @@
|
|||||||
MODULE_AUTHOR("Qumranet");
|
MODULE_AUTHOR("Qumranet");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
|
||||||
/* halt polling only reduces halt latency by 5-7 us, 500us is enough */
|
/* Architectures should define their poll value according to the halt latency */
|
||||||
static unsigned int halt_poll_ns = 500000;
|
static unsigned int halt_poll_ns = KVM_HALT_POLL_NS_DEFAULT;
|
||||||
module_param(halt_poll_ns, uint, S_IRUGO | S_IWUSR);
|
module_param(halt_poll_ns, uint, S_IRUGO | S_IWUSR);
|
||||||
|
|
||||||
/* Default doubles per-vcpu halt_poll_ns. */
|
/* Default doubles per-vcpu halt_poll_ns. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user