Messages in this thread | | | Subject | Re: [PATCH] KVM: add halt_attempted_poll to VCPU stats | From | Paolo Bonzini <> | Date | Wed, 16 Sep 2015 12:15:22 +0200 |
| |
On 16/09/2015 12:12, Christian Borntraeger wrote: > I am looking into a case right now, where auto polling goes > completely nuts on my system: > > guest1: 8vcpus guest2: 1 vcpu > iperf with 25 process (-P25) from guest1 to guest2. > > I/O interrupts on s390 are floating (pending on all CPUs) so on > ALL VCPUs that go to sleep, polling will consider any pending > network interrupt as successful poll. So with auto polling the > guest consumes up to 5 host CPUs without auto polling only 1. > Reducing halt_poll_ns to 100000 seems to work (goes back to > 1 cpu). > > The proper way might be to feedback the result of the > interrupt dequeue into the heuristics. Don't know yet how > to handle that properly.
I think it's simplest to disable halt_poll_ns by default on s390. On x86, for example, you can mark interrupts so that they _can_ be delivered to all CPUs but only one will get it.
You can add a Kconfig symbol for that to other architectures, and not s390.
Paolo
| |