Messages in this thread | | | Subject | Re: [PATCH v4 0/3] KVM: Dynamic Halt-Polling | From | Wanpeng Li <> | Date | Sun, 30 Aug 2015 06:21:28 +0800 |
| |
Hi Peter, On 8/30/15 5:18 AM, Peter Kieser wrote: > Hi Wanpeng, > > Do I need to set any module parameters to use your patch, or should > halt_poll_ns automatically tune with just your patch series applied? >
You don't need any module parameters.
Regards, Wanpeng Li
> Thanks. > > On 2015-08-27 2:47 AM, Wanpeng Li wrote: >> v3 -> v4: >> * bring back grow vcpu->halt_poll_ns when interrupt arrives and >> shrinks >> when idle VCPU is detected >> >> v2 -> v3: >> * grow/shrink vcpu->halt_poll_ns by *halt_poll_ns_grow or >> /halt_poll_ns_shrink >> * drop the macros and hard coding the numbers in the param definitions >> * update the comments "5-7 us" >> * remove halt_poll_ns_max and use halt_poll_ns as the max >> halt_poll_ns time, >> vcpu->halt_poll_ns start at zero >> * drop the wrappers >> * move the grow/shrink logic before "out:" w/ "if (waited)" >> >> v1 -> v2: >> * change kvm_vcpu_block to read halt_poll_ns from the vcpu instead of >> the module parameter >> * use the shrink/grow matrix which is suggested by David >> * set halt_poll_ns_max to 2ms >> >> There is a downside of halt_poll_ns since poll is still happen for idle >> VCPU which can waste cpu usage. This patchset add the ability to adjust >> halt_poll_ns dynamically, grows halt_poll_ns if an interrupt arrives and >> shrinks halt_poll_ns when idle VCPU is detected. >> >> There are two new kernel parameters for changing the halt_poll_ns: >> halt_poll_ns_grow and halt_poll_ns_shrink. >> >> >> Test w/ high cpu overcommit ratio, pin vCPUs, and the halt_poll_ns of >> halt-poll is the default 500000ns, the max halt_poll_ns of dynamic >> halt-poll is 2ms. Then watch the %C0 in the dump of Powertop tool. >> The test method is almost from David. >> >> +-----------------+----------------+-------------------+ >> | | | | >> | w/o halt-poll | w/ halt-poll | dynamic halt-poll | >> +-----------------+----------------+-------------------+ >> | | | | >> | ~0.9% | ~1.8% | ~1.2% | >> +-----------------+----------------+-------------------+ >> The always halt-poll >> will increase ~0.9% cpu usage for idle vCPUs and the >> dynamic halt-poll drop it to ~0.3% which means that reduce the 67% >> overhead >> introduced by always halt-poll. >> >> Wanpeng Li (3): >> KVM: make halt_poll_ns per-VCPU >> KVM: dynamic halt_poll_ns adjustment >> KVM: trace kvm_halt_poll_ns grow/shrink >> >> include/linux/kvm_host.h | 1 + >> include/trace/events/kvm.h | 30 ++++++++++++++++++++++++++++ >> virt/kvm/kvm_main.c | 50 >> +++++++++++++++++++++++++++++++++++++++++++--- >> 3 files changed, 78 insertions(+), 3 deletions(-) >
| |