Re: [PATCH 02/26] KVM: PPC: Convert MSR to shared page

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

 




Am 27.06.2010 um 11:50 schrieb Avi Kivity <avi@xxxxxxxxxx>:

On 06/27/2010 12:38 PM, Alexander Graf wrote:

Am 27.06.2010 um 10:16 schrieb Avi Kivity <avi@xxxxxxxxxx>:

On 06/26/2010 02:24 AM, Alexander Graf wrote:
One of the most obvious registers to share with the guest directly is the MSR. The MSR contains the "interrupts enabled" flag which the guest has to
toggle in critical sections.

So in order to bring the overhead of interrupt en- and disabling down, let's put msr into the shared page. Keep in mind that even though you can fully read its contents, writing to it doesn't always update all state. There are a few safe fields that don't require hypervisor interaction. See the guest
implementation that follows later for reference.



You mean, see the documentation for reference.

It should be possible to write the guest code looking only at the documentation.

*shrug* since we're writing open source I don't mind telling people to read code for a reference implemenration.

It's impossible to infer from the source what's a guaranteed part of the interface and what is just an implementation artifact. So people rely on implementation artifacts (or even bugs) and that reduces our ability to change things.

If well written, that's more comprehensible than documentation anyways :).

If the documentation is poorly written, yes.

I think I start to agree. I guess i should just list all fields of the MSR that are ok to modify inside the guest context.

Alex

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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux