Re: [PATCH 01/15] KVM: PPC: Make register read/write wrappers always work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux