From: Hollis Blanchard <hollisb@us.ibm.com>
To: Jerone Young <jyoung5@us.ibm.com>
Cc: kvm-ppc-devel@lists.sourceforge.net, kvm-devel@lists.sourceforge.net
Subject: Re: [kvm-ppc-devel] [PATCH 3 of 3] Add premption handlers & properly wake sleeping guest
Date: Fri, 25 Apr 2008 08:52:38 -0500 [thread overview]
Message-ID: <200804250852.39139.hollisb@us.ibm.com> (raw)
In-Reply-To: <4af926196f38820dc5cb.1209102964@thinkpadL>
On Friday 25 April 2008 00:56:04 Jerone Young wrote:
> diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
> --- a/arch/powerpc/kvm/powerpc.c
> +++ b/arch/powerpc/kvm/powerpc.c
> @@ -212,6 +212,9 @@ static void kvmppc_decrementer_func(unsi
> {
> struct kvm_vcpu *vcpu = (struct kvm_vcpu *)data;
>
> + if (waitqueue_active(&vcpu->wq))
> + wake_up_interruptible(&vcpu->wq);
> +
> kvmppc_queue_exception(vcpu, BOOKE_INTERRUPT_DECREMENTER);
> }
Hooray!
> int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt
*irq)
> {
> + vcpu_load(vcpu);
> kvmppc_queue_exception(vcpu, BOOKE_INTERRUPT_EXTERNAL);
> + vcpu_put(vcpu);
> +
> return 0;
> }
load/put here is definitely unnecessary.
That makes me question how necessary it is in other parts of this patch too. I
think the (hardware) TLB is the only state we really need to worry about,
because there is no other state that our guest can load into the hardware
that is not handled by a regular context switch.
If that's true, we should only need vcpu_load/put() on paths where we muck
with the TLB behind the host's back, and that is only in the run path.
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
next prev parent reply other threads:[~2008-04-25 13:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-25 5:56 [PATCH 0 of 3] Fix guest eating 100% cpu when guest is idle on PowerPC Jerone Young
2008-04-25 5:56 ` [PATCH 1 of 3] Add idle wait support for 44x platforms Jerone Young
2008-04-25 5:56 ` [PATCH 2 of 3] Add PowerPC KVM guest wait handling support Jerone Young
2008-04-25 13:56 ` [kvm-ppc-devel] " Hollis Blanchard
2008-04-25 5:56 ` [PATCH 3 of 3] Add premption handlers & properly wake sleeping guest Jerone Young
2008-04-25 13:52 ` Hollis Blanchard [this message]
2008-04-25 14:00 ` [kvm-ppc-devel] [PATCH 0 of 3] Fix guest eating 100% cpu when guest is idle on PowerPC Hollis Blanchard
2008-04-25 16:34 ` Jerone Young
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=200804250852.39139.hollisb@us.ibm.com \
--to=hollisb@us.ibm.com \
--cc=jyoung5@us.ibm.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=kvm-ppc-devel@lists.sourceforge.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox