|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] clflush instruction emulation
Our WBINVD emulation doesn't do anything unless the guest has some devices
passed through to it. I think that will do for now then.
Thanks,
Keir
On 15/04/2010 18:25, "Wei Huang" <wei.huang2@xxxxxxx> wrote:
> WBINVD is a bit heavy since it flushes all caches. I saw 1170 times of
> CLFLUSH during FreeBSD booting. After guest boots, 0 was observed. 1170
> is not huge though.
>
> -Wei
>
> Keir Fraser wrote:
>> On 15/04/2010 17:38, "Wei Huang" <wei.huang2@xxxxxxx> wrote:
>>
>>
>>> I created a patch which enables clflush emulation. I have verified that
>>> this patch solves FreeBSD issue. This patch returns immediately without
>>> doing anything. Note that we don't have to intercept clflush in SVM. So
>>> the only time we have page_fault for clflush instruction is when guest
>>> VM flushes MMIO space. In this case, do we need to send this command
>>> over to QEMU? I didn't do it in this patch anyway.
>>>
>>
>> I don't think we need to anything since all guest reads/writes to the mmio
>> space will get intercepted to qemu, and hence qemu's view of the space is
>> coherent with the guest with no need for special handling of CLFLUSH.
>>
>> Still the emulator should call out and let the caller decide what to do. We
>> could safely turn CLFLUSH into WBINVD (i.e., call the existing wbinvd hook).
>> Do you know if these CLFLUSH emulations happen often or only very rarely?
>> That might help us decide how smart we need to be about emulating CLFLUSH
>> (i.e., add a hook specifically for clflush, separately from wbinvd).
>>
>> -- Keir
>>
>>
>>
>>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|