From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] arm64: KVM: let other tasks run when hitting WFE
Date: Fri, 19 Jul 2013 15:29:45 +0100 [thread overview]
Message-ID: <51E94D59.9010607@arm.com> (raw)
In-Reply-To: <20130719142524.GF18139@mudshark.cambridge.arm.com>
On 19/07/13 15:25, Will Deacon wrote:
> On Fri, Jul 19, 2013 at 02:53:54PM +0100, 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.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>
> [...]
>
>> +static int kvm_handle_wfx(struct kvm_vcpu *vcpu, struct kvm_run *run)
>> {
>> - kvm_vcpu_block(vcpu);
>> + if (kvm_vcpu_get_hsr(vcpu) & 1)
>> + cond_resched();
>
> The hardcoded `1' doesn't make it obvious that we're treating wfi and wfe
> differently. Could you use a #define for that bit in hsr.iss please?
Good point. I'll rework that part.
M.
--
Jazz is not dead. It just smells funny...
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier@arm.com>
To: Will Deacon <will.deacon@arm.com>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
Catalin Marinas <Catalin.Marinas@arm.com>
Subject: Re: [PATCH 3/4] arm64: KVM: let other tasks run when hitting WFE
Date: Fri, 19 Jul 2013 15:29:45 +0100 [thread overview]
Message-ID: <51E94D59.9010607@arm.com> (raw)
In-Reply-To: <20130719142524.GF18139@mudshark.cambridge.arm.com>
On 19/07/13 15:25, Will Deacon wrote:
> On Fri, Jul 19, 2013 at 02:53:54PM +0100, 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.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>
> [...]
>
>> +static int kvm_handle_wfx(struct kvm_vcpu *vcpu, struct kvm_run *run)
>> {
>> - kvm_vcpu_block(vcpu);
>> + if (kvm_vcpu_get_hsr(vcpu) & 1)
>> + cond_resched();
>
> The hardcoded `1' doesn't make it obvious that we're treating wfi and wfe
> differently. Could you use a #define for that bit in hsr.iss please?
Good point. I'll rework that part.
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2013-07-19 14:29 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-19 13:53 [PATCH 0/4] KVM/arm64 fixes for 3.11 Marc Zyngier
2013-07-19 13:53 ` Marc Zyngier
2013-07-19 13:53 ` [PATCH 1/4] arm64: KVM: perform save/restore of PAR_EL1 Marc Zyngier
2013-07-19 13:53 ` Marc Zyngier
2013-07-20 21:51 ` Christoffer Dall
2013-07-20 21:51 ` Christoffer Dall
2013-07-19 13:53 ` [PATCH 2/4] arm64: KVM: add missing dsb before invalidating Stage-2 TLBs Marc Zyngier
2013-07-19 13:53 ` Marc Zyngier
2013-07-19 14:32 ` Will Deacon
2013-07-19 14:32 ` Will Deacon
2013-07-19 14:53 ` Marc Zyngier
2013-07-19 14:53 ` Marc Zyngier
2013-07-19 13:53 ` [PATCH 3/4] arm64: KVM: let other tasks run when hitting WFE Marc Zyngier
2013-07-19 13:53 ` Marc Zyngier
2013-07-19 14:25 ` Will Deacon
2013-07-19 14:25 ` Will Deacon
2013-07-19 14:29 ` Marc Zyngier [this message]
2013-07-19 14:29 ` Marc Zyngier
2013-07-20 22:04 ` Christoffer Dall
2013-07-20 22:04 ` Christoffer Dall
2013-07-22 7:36 ` Gleb Natapov
2013-07-22 7:36 ` Gleb Natapov
2013-07-22 8:53 ` Raghavendra KT
2013-07-22 8:53 ` Raghavendra KT
2013-07-22 12:51 ` Christoffer Dall
2013-07-22 12:51 ` Christoffer Dall
2013-07-22 13:01 ` Will Deacon
2013-07-22 13:01 ` Will Deacon
2013-07-22 13:57 ` Raghavendra K T
2013-07-22 13:57 ` Raghavendra K T
2013-07-28 20:55 ` Christoffer Dall
2013-07-28 20:55 ` Christoffer Dall
2013-07-29 7:35 ` Raghavendra K T
2013-07-29 7:35 ` Raghavendra K T
2013-07-23 10:41 ` Catalin Marinas
2013-07-23 10:41 ` Catalin Marinas
2013-07-23 16:04 ` Will Deacon
2013-07-23 16:04 ` Will Deacon
2013-07-19 13:53 ` [PATCH 4/4] arm64: KVM: remove __kvm_hyp_code_{start,end} from hyp.S Marc Zyngier
2013-07-19 13:53 ` Marc Zyngier
2013-07-22 7:36 ` Gleb Natapov
2013-07-22 7:36 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51E94D59.9010607@arm.com \
--to=marc.zyngier@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.