[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55F9413A.8000006@redhat.com>
Date: Wed, 16 Sep 2015 12:15:22 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Christian Borntraeger <borntraeger@...ibm.com>,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Cc: rkrcmar@...hat.com, David Hildenbrand <dahi@...ux.vnet.ibm.com>,
David Matlack <dmatlack@...gle.com>,
Jens Freimann <jfrei@...ux.vnet.ibm.com>
Subject: Re: [PATCH] KVM: add halt_attempted_poll to VCPU stats
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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists