From: Avi Kivity <avi@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: kvm-ppc@vger.kernel.org, kvm list <kvm@vger.kernel.org>,
Marcelo Tosatti <mtosatti@redhat.com>,
Scott Wood <scottwood@freescale.com>
Subject: Re: [PATCH 13/50] KVM: PPC: booke: check for signals in kvmppc_vcpu_run
Date: Sun, 08 Jan 2012 15:22:38 +0000 [thread overview]
Message-ID: <4F09B4BE.5080109@redhat.com> (raw)
In-Reply-To: <1C3D93EB-5348-4421-9114-55A73110EB23@suse.de>
On 01/08/2012 05:11 PM, Alexander Graf wrote:
> On 08.01.2012, at 14:18, Avi Kivity wrote:
>
> > On 01/04/2012 03:10 AM, Alexander Graf wrote:
> >> From: Scott Wood <scottwood@freescale.com>
> >>
> >> Currently we check prior to returning from a lightweight exit,
> >> but not prior to initial entry.
> >>
> >> book3s already does a similar test.
> >>
> >> Signed-off-by: Scott Wood <scottwood@freescale.com>
> >> Signed-off-by: Alexander Graf <agraf@suse.de>
> >> ---
> >> arch/powerpc/kvm/booke.c | 10 +++++++++-
> >> 1 files changed, 9 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
> >> index b642200..9c78589 100644
> >> --- a/arch/powerpc/kvm/booke.c
> >> +++ b/arch/powerpc/kvm/booke.c
> >> @@ -322,11 +322,19 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
> >> }
> >>
> >> local_irq_disable();
> >> +
> >> + if (signal_pending(current)) {
> >> + kvm_run->exit_reason = KVM_EXIT_INTR;
> >> + ret = -EINTR;
> >> + goto out;
> >> + }
> >> +
> >> kvm_guest_enter();
> >> ret = __kvmppc_vcpu_run(kvm_run, vcpu);
> >> kvm_guest_exit();
> >> - local_irq_enable();
> >>
> >>
> >
> > In general a single check prior to entry is sufficient (well, in
> > addition to the one in kvm_vcpu_block()).
>
> Yes, and IIUC this is the single check prior to entry. On lightweight exit, we don't return from __kvmppc_vcpu_run, but only call kvmppc_handle_exit() and if that exits that we return to the guest, we stay inside of __kvmppc_vcpu_run and don't return from here.
It means you check twice per heavyweight exit, no? Once here, and once
when kvmppc_handle_exit() returns. If, instead, you move the check to
just before the lightweight entry, you check just once per entry, like x86.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2012-01-08 15:22 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-04 0:58 [PULL 00/50] ppc patch queue 2012-01-04 Alexander Graf
2012-01-04 0:58 ` [PATCH 02/50] KVM: PPC: e500: Eliminate preempt_disable in local_sid_destroy_all Alexander Graf
2012-01-04 0:58 ` [PATCH 13/50] KVM: PPC: booke: check for signals in kvmppc_vcpu_run Alexander Graf
2012-01-08 13:18 ` Avi Kivity
2012-01-08 15:11 ` Alexander Graf
2012-01-08 15:22 ` Avi Kivity [this message]
2012-01-08 15:37 ` Alexander Graf
2012-01-08 16:13 ` Avi Kivity
2012-01-08 16:21 ` Alexander Graf
2012-01-08 16:26 ` Avi Kivity
2012-01-08 16:41 ` Alexander Graf
2012-01-08 16:45 ` Avi Kivity
2012-01-08 16:54 ` Alexander Graf
2012-01-04 0:58 ` [PATCH 15/50] KVM: PPC: Move prepare_to_enter call site into subarch code Alexander Graf
2012-01-04 0:58 ` [PATCH 16/50] KVM: PPC: booke: Check for MSR[WE] in prepare_to_enter Alexander Graf
2012-01-04 0:59 ` [PATCH 10/50] PPC: Fix race in mtmsr paravirt implementation Alexander Graf
2012-01-04 0:59 ` [PATCH 39/50] KVM: PPC: Implement MMIO emulation support for Book3S HV guests Alexander Graf
2012-01-04 0:59 ` [PATCH 49/50] KVM: PPC: booke: Add booke206 TLB trace Alexander Graf
2012-01-04 0:59 ` [PATCH 50/50] KVM: PPC: Use the vcpu kmem_cache when allocating new VCPUs Alexander Graf
2012-01-04 0:59 ` [PATCH 47/50] KVM: PPC: Book3S HV: Use the hardware referenced bit for kvm_age_hva Alexander Graf
2012-01-04 0:59 ` [PATCH 46/50] KVM: PPC: Book3s HV: Maintain separate guest and host views of R and C bits Alexander Graf
2012-01-04 0:59 ` [PATCH 45/50] KVM: PPC: Book3S HV: Keep HPTE locked when invalidating Alexander Graf
2012-01-04 0:59 ` [PATCH 42/50] KVM: PPC: Allow for read-only pages backing a Book3S HV guest Alexander Graf
2012-01-04 0:59 ` [PATCH 40/50] KVM: PPC: Implement MMU notifiers for Book3S HV guests Alexander Graf
2012-01-08 13:29 ` [PATCH 40/50] KVM: PPC: Implement MMU notifiers for Book3S HV Avi Kivity
2012-01-08 15:15 ` [PATCH 40/50] KVM: PPC: Implement MMU notifiers for Book3S HV guests Alexander Graf
2012-01-08 15:24 ` [PATCH 40/50] KVM: PPC: Implement MMU notifiers for Book3S HV Avi Kivity
2012-01-08 15:41 ` [PATCH 40/50] KVM: PPC: Implement MMU notifiers for Book3S HV guests Alexander Graf
2012-01-04 0:59 ` [PATCH 43/50] KVM: PPC: Fix vcpu_create dereference before validity check Alexander Graf
2012-01-04 0:59 ` [PATCH 44/50] KVM: PPC: Add KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS Alexander Graf
2012-01-04 0:59 ` [PATCH 48/50] KVM: PPC: Book3s HV: Implement get_dirty_log using hardware changed bit Alexander Graf
2012-01-04 0:59 ` [PATCH 38/50] KVM: PPC: Maintain a doubly-linked list of guest HPTEs for each gfn Alexander Graf
2012-01-04 0:59 ` [PATCH 36/50] KVM: PPC: Allow use of small pages to back Book3S HV guests Alexander Graf
2012-01-04 0:59 ` [PATCH 34/50] KVM: PPC: Make the H_ENTER hcall more reliable Alexander Graf
2012-01-04 0:59 ` [PATCH 31/50] KVM: PPC: Keep a record of HV guest view of hashed page table entries Alexander Graf
2012-01-04 0:59 ` [PATCH 32/50] KVM: PPC: Keep page physical addresses in per-slot arrays Alexander Graf
2012-01-04 0:59 ` [PATCH 33/50] KVM: PPC: Add an interface for pinning guest pages in Book3s HV guests Alexander Graf
2012-01-04 0:59 ` [PATCH 30/50] KVM: PPC: Move kvm_vcpu_ioctl_[gs]et_one_reg down to platform-specific code Alexander Graf
2012-01-04 1:09 ` [PATCH 01/50] KVM: PPC: e500: don't translate gfn to pfn with preemption disabled Alexander Graf
2012-01-04 1:10 ` [PATCH 03/50] KVM: PPC: e500: clear up confusion between host and guest entries Alexander Graf
2012-01-04 1:10 ` [PATCH 04/50] KVM: PPC: e500: MMU API Alexander Graf
2012-01-08 13:13 ` Avi Kivity
2012-01-08 14:52 ` Alexander Graf
2012-01-08 14:55 ` Avi Kivity
2012-01-08 15:16 ` Alexander Graf
2012-01-08 15:27 ` Avi Kivity
2012-01-04 1:10 ` [PATCH 05/50] KVM: PPC: e500: tlbsx: fix tlb0 esel Alexander Graf
2012-01-04 1:10 ` [PATCH 06/50] KVM: PPC: e500: Don't hardcode PIR=0 Alexander Graf
2012-01-08 13:14 ` Avi Kivity
2012-01-08 14:53 ` Alexander Graf
2012-01-08 14:56 ` Avi Kivity
2012-01-04 1:10 ` [PATCH 07/50] KVM: PPC: Add generic single register ioctls Alexander Graf
2012-01-04 20:08 ` Scott Wood
2012-01-05 2:32 ` Alexander Graf
2012-01-05 4:07 ` Alexander Graf
2012-01-05 20:53 ` Scott Wood
2012-01-08 12:38 ` Avi Kivity
2012-01-04 1:10 ` [PATCH 08/50] KVM: PPC: Add support for explicit HIOR setting Alexander Graf
2012-01-04 20:12 ` Scott Wood
2012-01-05 2:36 ` Alexander Graf
2012-01-05 17:16 ` Scott Wood
2012-01-06 2:35 ` Alexander Graf
2012-01-06 21:12 ` Scott Wood
2012-01-07 1:14 ` Alexander Graf
2012-01-09 19:52 ` Scott Wood
2012-01-04 1:10 ` [PATCH 09/50] KVM: PPC: E500: Support hugetlbfs Alexander Graf
2012-01-08 13:16 ` Avi Kivity
2012-01-04 1:10 ` [PATCH 11/50] Fix DEC truncation for greater than 0xffff_ffff/1000 Alexander Graf
2012-01-04 1:10 ` [PATCH 12/50] KVM: booke: Do Not start decrementer when SPRN_DEC set 0 Alexander Graf
2012-01-04 1:10 ` [PATCH 14/50] KVM: PPC: Rename deliver_interrupts to prepare_to_enter Alexander Graf
2012-01-04 1:10 ` [PATCH 17/50] KVM: PPC: booke: Fix int_pending calculation for MSR[EE] paravirt Alexander Graf
2012-01-04 1:10 ` [PATCH 18/50] KVM: PPC: booke: Paravirtualize wrtee Alexander Graf
2012-01-04 1:10 ` [PATCH 19/50] KVM: PPC: Paravirtualize SPRG4-7, ESR, PIR, MASn Alexander Graf
2012-01-08 13:20 ` Avi Kivity
2012-01-04 1:10 ` [PATCH 20/50] KVM: PPC: booke: Improve timer register emulation Alexander Graf
2012-01-04 1:10 ` [PATCH 21/50] KVM: PPC: Book3s: PR: Disable preemption in vcpu_run Alexander Graf
2012-01-04 1:10 ` [PATCH 22/50] KVM: PPC: Book3s: PR: No irq_disable " Alexander Graf
2012-01-04 1:10 ` [PATCH 23/50] KVM: PPC: Use get/set for to_svcpu to help preemption Alexander Graf
2012-01-04 1:10 ` [PATCH 24/50] KVM: PPC: align vcpu_kick with x86 Alexander Graf
2012-01-08 13:24 ` Avi Kivity
2012-01-08 15:14 ` Alexander Graf
2012-01-08 15:32 ` Christoffer Dall
2012-01-04 1:10 ` [PATCH 25/50] KVM: PPC: Book3S: PR: Fix signal check race Alexander Graf
2012-01-04 1:10 ` [PATCH 26/50] KVM: PPC: e500: Fix TLBnCFG in KVM_CONFIG_TLB Alexander Graf
2012-01-04 1:10 ` [PATCH 27/50] KVM: PPC: e500: use hardware hint when loading TLB0 entries Alexander Graf
2012-01-04 1:10 ` [PATCH 28/50] KVM: PPC: Avoid patching paravirt template code Alexander Graf
2012-01-04 1:10 ` [PATCH 29/50] KVM: PPC: Make wakeups work again for Book3S HV guests Alexander Graf
2012-01-04 1:10 ` [PATCH 35/50] KVM: PPC: Only get pages when actually needed, not in prepare_memory_region() Alexander Graf
2012-01-04 1:10 ` [PATCH 37/50] KVM: PPC: Allow I/O mappings in memory slots Alexander Graf
2012-01-04 1:10 ` [PATCH 41/50] KVM: Add barriers to allow mmu_notifier_retry to be used locklessly Alexander Graf
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=4F09B4BE.5080109@redhat.com \
--to=avi@redhat.com \
--cc=agraf@suse.de \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=scottwood@freescale.com \
/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