From mboxrd@z Thu Jan 1 00:00:00 1970 From: raghavendra.kt@linux.vnet.ibm.com (Raghavendra K T) Date: Mon, 22 Jul 2013 19:27:58 +0530 Subject: [PATCH 3/4] arm64: KVM: let other tasks run when hitting WFE In-Reply-To: References: <1374242035-13199-1-git-send-email-marc.zyngier@arm.com> <1374242035-13199-4-git-send-email-marc.zyngier@arm.com> Message-ID: <51ED3A66.4050407@linux.vnet.ibm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 07/22/2013 06:21 PM, Christoffer Dall wrote: > On 22 July 2013 10:53, Raghavendra KT wrote: >> On Fri, Jul 19, 2013 at 7:23 PM, Marc Zyngier wrote: >>> So far, when a guest executes WFE (like when waiting for a spinlock >>> to become unlocked), we don't do a thing and let it run uninterrupted. >>> >>> Another option is to trap a blocking WFE and offer the opportunity >>> to the scheduler to switch to another task, potentially giving the >>> vcpu holding the spinlock a chance to run sooner. >>> >> >> Idea looks to be correct from my experiments on x86. It does bring some >> percentage of benefits in overcommitted guests. Infact, >> >> https://lkml.org/lkml/2013/7/22/41 tries to do the same thing for x86. >> (this results in using ple handler heuristics in vcpu_block pach). > > What about the adverse effect in the non-overcommitted case? > Ideally is should fail to schedule any other task and comeback to halt loop. This should not hurt AFAICS. But I agree that, numbers needed to support this argument. For x86, I had seen no side effects with the experiments.