All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH][RFC] Supporting EnlightenedWindows2008Server
@ 2008-04-08 17:13 Ky Srinivasan
  0 siblings, 0 replies; 2+ messages in thread
From: Ky Srinivasan @ 2008-04-08 17:13 UTC (permalink / raw)
  To: Tim Deegan, Keir Fraser; +Cc: xen-devel



>>> On Mon, Apr 7, 2008 at 11:15 AM, in message
<C41FF920.1EDFD%keir.fraser@eu.citrix.com>, Keir Fraser
<keir.fraser@eu.citrix.com> wrote: 
> On 7/4/08 15:28, "Ky Srinivasan" <ksrinivasan@novell.com> wrote:
> 
>>> It's certainly quite a bit shorter which is good. For the remaining stuff,
>>> do you have empirical evidence that performance is improved by it?
>>> 
>> I do. On the NetBench runs we did, we were seeing close to 10% improvement. 
> I
>> will keep you posted on other benchmark results as they become available.
>> Furthermore, as MSFT defines new enlightenments, we can implement those
>> cleanly within this body of code. Additionally, there is value in claiming
>> that we support all the enlightenments needed for hosting enlightened win 
> 2008
>> servers.
> 
> Do you know which hypercalls that benefit comes from? HV_GET_VP_REGISTERS see no reason to
> support more hypercalls than necessary (I certainly don't see the value in
> that as an end in itself).

Agreed. Based on the latest hyperv V spec, I think only the following hypercalls make sense for an enlightened guest:

1) HV_GET_PARTITION_ID
This is implemented in the patches I have submitted. This hypercall, currently is not used by the currently shipping windows 2008 server.

2)  HV_GET_VP_REGISTERS/ HV_SET_VP_REGISTERS
I only have stub for these hypercalls (not implemented). Current windows 2008 server does not use these hypercalls.

3) HV_SWITCH_VA: I have implemented this hypercall.

4) HV_FLUSH_VA/HV_FLUSH_VA_LIST
I had implemented these hypercalls originally. In the current patch set, I have stubbed out these hypercalls. 

In addition to the hypercalls, Hyper V also surfaces functionality via synthetic MSRs and CPUID leaves.
I have implemented all the relevant MSRs and CPUID leaves. 

>From a performance point of view, I think the MSR access to APIC registers are the most important. As far as hypercalls go, the only one currently implemented is the hypercall to change the page table base.  Some of the other synthetic MSRs support features that the current windows 2008 server currently is not using (timeouts for example).

Regards,

K. Y
  
>  --   Keir

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH][RFC] Supporting EnlightenedWindows2008Server
       [not found] <48ABEA14.E57C.0030.0@novell.com>
@ 2008-04-08 17:15 ` Keir Fraser
  0 siblings, 0 replies; 2+ messages in thread
From: Keir Fraser @ 2008-04-08 17:15 UTC (permalink / raw)
  To: Ky Srinivasan, Tim Deegan; +Cc: xen-devel

On 8/4/08 18:03, "Ky Srinivasan" <ksrinivasan@novell.com> wrote:

> From a performance point of view, I think the MSR access to APIC registers are
> the most important. As far as hypercalls go, the only one currently
> implemented is the hypercall to change the page table base.  Some of the other
> synthetic MSRs support features that the current windows 2008 server currently
> is not using (timeouts for example).

That's a bit surprising since w2k8 probably accesses the TPR via %cr8, for
which we implement vmexit mitigation. The only other APIC register that is
often accessed is EOI. We can't avoid the vmexit for that, and the extra
cost of not having an explicit MSR for it is a run through the mmio
emulator. I'd be surprised if avoiding the run through the emulator per
interrupt was that much of a win.

Anyhow, you should be able to switch off HyperV features selectively, as
advertised to the domU HVM guest, and see which ones make a difference to
performance.

 -- Keir

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-04-08 17:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-08 17:13 [PATCH][RFC] Supporting EnlightenedWindows2008Server Ky Srinivasan
     [not found] <48ABEA14.E57C.0030.0@novell.com>
2008-04-08 17:15 ` Keir Fraser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.