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

Alexander Graf
2010-06-27T10:40:01Z

Am 27.06.2010 um 11:50 schrieb Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>:

> On 06/27/2010 12:38 PM, Alexander Graf wrote:
>>
>> Am 27.06.2010 um 10:16 schrieb Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>:
>>
>>> 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