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

Re: [Xen-devel] [PATCH][HVM][SVM] Reintroduce ASIDs.

  • To: "Biemueller, Sebastian" <Sebastian.Biemueller@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir@xxxxxxxxxxxxx>
  • Date: Tue, 15 May 2007 12:59:50 +0100
  • Delivery-date: Tue, 15 May 2007 04:58:20 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AceW195aW8skL4OXRuq5UwVa+odMXQAEKvso
  • Thread-topic: [Xen-devel] [PATCH][HVM][SVM] Reintroduce ASIDs.

On 15/5/07 11:00, "Biemueller, Sebastian" <Sebastian.Biemueller@xxxxxxx>

> This patch reintroduces ASID management for AMD-V.

A few more comments:
 1. Rather than adding an extra hook at every use of paging_update_cr3(),
paging_update_paging_modes(), paging_invlpg(), move those original calls
into your hook functions. Then the original invocation is simply replaced
with a call to your function, which can hide the extra work more neatly.

 2. Adding an extra function call on every vmentry is unfortunate. Why not
guarantee that any running SVM VCPU has a valid ASID at all times, even
while running inside Xen? This would mean that you would greedily allocate
an ASID as soon as you context-switch to a SVM VCPU, and also when the old
ASID becomes invalid. Then you could do your tests and VMCB-twiddling on
those less common paths, and avoid extra cost on the much more common
vmentry path.

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.