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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html