public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
Cc: kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 01/15] KVM: PPC: Make register read/write wrappers always work
Date: Mon, 08 Mar 2010 16:06:45 +0200	[thread overview]
Message-ID: <4B950475.1020106@redhat.com> (raw)
In-Reply-To: <4B950174.7010709-l3A5Bk7waGM@public.gmane.org>

On 03/08/2010 03:53 PM, Alexander Graf wrote:
>
>> So do it the other way around.  Always load the registers (of course,
>> do nothing if already loaded) and then access them in just one way.  I
>> assume during emulation the registers will always be loaded?
>>      
> During emulation we're always in VCPU_RUN, so the vcpu is loaded.
>
> Do you mean something like:
>
> read_register(num) {
>    vcpu_load();
>    read register from PACA(num);
>    vcpu_put();
> }
>
> ? Does vcpu_load incur overhead when it doesnt' need to do anything?
>    

If the vcpu is always loaded, this would be redundant, no?

The situation is that a piece of data is in one of two places.  Instead 
of checking and loading it from either, force it to the place where it 
normally is, and load it from there.

So instead of

     if (x)
         y = p1;
     else
         y = p2;

in a zillion places, just do

     force_to_p2(); // the common case anyway
     y = p2;

which results in cleaner code.  Assuming that you have a common case of 
course.

-- 
error compiling committee.c: too many arguments to function

  parent reply	other threads:[~2010-03-08 14:06 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-05 16:50 [PATCH 00/15] KVM: PPC: MOL bringup patches Alexander Graf
2010-03-05 16:50 ` [PATCH 01/15] KVM: PPC: Make register read/write wrappers always work Alexander Graf
     [not found]   ` <1267807842-3751-2-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-03-08 13:40     ` Avi Kivity
     [not found]       ` <4B94FE41.1040904-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 13:44         ` Alexander Graf
     [not found]           ` <4B94FF56.9060200-l3A5Bk7waGM@public.gmane.org>
2010-03-08 13:50             ` Avi Kivity
2010-03-08 13:53               ` Alexander Graf
     [not found]                 ` <4B950174.7010709-l3A5Bk7waGM@public.gmane.org>
2010-03-08 14:06                   ` Avi Kivity [this message]
     [not found]                     ` <4B950475.1020106-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 14:14                       ` Alexander Graf
     [not found]                         ` <4B95062D.2020908-l3A5Bk7waGM@public.gmane.org>
2010-03-08 14:16                           ` Avi Kivity
     [not found]                             ` <4B9506C5.30606-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 14:20                               ` Alexander Graf
2010-03-08 14:23                                 ` Avi Kivity
2010-03-05 16:50 ` [PATCH 03/15] KVM: PPC: Allow userspace to unset the IRQ line Alexander Graf
     [not found]   ` <1267807842-3751-4-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-03-08 13:44     ` Avi Kivity
     [not found]       ` <4B94FF27.5010800-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 13:48         ` Alexander Graf
2010-03-08 13:52           ` Avi Kivity
2010-03-08 13:55             ` Alexander Graf
2010-03-08 13:58               ` Avi Kivity
     [not found]                 ` <4B95029C.6000800-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 14:01                   ` Alexander Graf
2010-03-08 14:09                     ` Avi Kivity
     [not found] ` <1267807842-3751-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-03-05 16:50   ` [PATCH 02/15] KVM: PPC: Ensure split mode works Alexander Graf
2010-03-05 16:50   ` [PATCH 04/15] KVM: PPC: Make DSISR 32 bits wide Alexander Graf
2010-03-05 16:50   ` [PATCH 05/15] KVM: PPC: Book3S_32 guest MMU fixes Alexander Graf
2010-03-05 16:50   ` [PATCH 10/15] KVM: PPC: Implement BAT reads Alexander Graf
2010-03-05 16:50   ` [PATCH 13/15] KVM: PPC: Implement alignment interrupt Alexander Graf
2010-03-05 16:50 ` [PATCH 06/15] KVM: PPC: Split instruction reading out Alexander Graf
2010-03-05 16:50 ` [PATCH 07/15] KVM: PPC: Don't reload FPU with invalid values Alexander Graf
2010-03-05 16:50 ` [PATCH 08/15] KVM: PPC: Load VCPU for register fetching Alexander Graf
2010-03-05 16:50 ` [PATCH 09/15] KVM: PPC: Implement mfsr emulation Alexander Graf
2010-03-05 16:50 ` [PATCH 11/15] KVM: PPC: Make XER load 32 bit Alexander Graf
2010-03-05 16:50 ` [PATCH 12/15] KVM: PPC: Implement emulation for lbzux and lhax Alexander Graf
2010-03-05 16:50 ` [PATCH 14/15] KVM: Add support for enabling capabilities per-vcpu Alexander Graf
     [not found]   ` <1267807842-3751-15-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-03-08 13:49     ` Avi Kivity
     [not found]       ` <4B950057.1090204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 13:51         ` Alexander Graf
     [not found]           ` <4B9500D1.2060008-l3A5Bk7waGM@public.gmane.org>
2010-03-08 13:52             ` Avi Kivity
     [not found]               ` <4B95012B.3030505-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 13:56                 ` Alexander Graf
2010-03-08 14:02                   ` Avi Kivity
2010-03-08 14:10                     ` Alexander Graf
     [not found]                       ` <4B950562.6050509-l3A5Bk7waGM@public.gmane.org>
2010-03-08 14:14                         ` Avi Kivity
     [not found]                           ` <4B950656.4010307-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-08 14:18                             ` Alexander Graf
2010-03-08 14:21                               ` Avi Kivity
2010-03-05 16:50 ` [PATCH 15/15] KVM: PPC: Add OSI hypercall interface 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=4B950475.1020106@redhat.com \
    --to=avi-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=agraf-l3A5Bk7waGM@public.gmane.org \
    --cc=kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox