This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH 0/4] XSAVE/XRSTOR fixes and enhancements

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 0/4] XSAVE/XRSTOR fixes and enhancements
From: Weidong Han <weidong.han@xxxxxxxxx>
Date: Tue, 31 Aug 2010 15:35:10 +0800
Cc: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 31 Aug 2010 00:35:50 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C8A26559.21612%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C8A26559.21612%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (Windows/20090302)
Keir Fraser wrote:
On 31/08/2010 03:59, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:

The patchset is as follows:
Patch 1/4: Fix frozen states
If a guest sets a state and dirties the state, but later temporarily clears
the state, and at this time this vcpu is scheduled out, then other vcpus may
corrupt the state before the vcpu is scheduled in again, thus the state cannot
be restored correctly. To solve this issue, this patch save/restore all states
unconditionally on vcpu context switch.

I don't really understand, and the patch is non-obvious and large. Can it be
broken up or explained more.
The patch also includes some cleanups. I will split it.

Patch 2/4: Enable XSAVE/XRSTOR live migration:
This patch enables save/restore xsave states for guests. Because xsave area
size is not fixed, this patch uses 4K Bytes for future extension.

Breaks backward compatibility by changing size of vcpu_guest_context (part
of the PV guest ABI). Totally unacceptable -- is this a nasty attempt to get
yes, it cannot restore guest saved by old Xen. do you mean we should not change size of vcpu_guest_context in future?
SR working for PV guests? I think you'll be needing a special XSAVE
save/restore domctl for PV. However I think you're targeting HVM only for
now so I'm not sure why this is at all needed.
I'm targeting HVM only for now. Yes, it only needs to add a separate XSAVE s/r chunk for hvm guest, instead of changing above structures which breaks PV.
Also expanding the size of the hvm_vcpu s/r structure similarly breaks
compatibility with older saved images. You'll have to put XSAVE state in a
separate s/r chunk with its own identifier tag. I'm not sure we currently
support variable-length HVM s/r chunks but there's no reason not to and this
XSAVE chunk would be a good time to implement that. Then you don't need to
limit yourself to a static 4kB for all time.
Yes, XSAVE needs variable-length s/r chunk.

 -- Keir

Patch 3/4. Enable guest AVX
This patch enables Intel(R) Advanced Vector Extension (AVX) for guest.

Patch 4/4. Dom0: extend fpu_ctxt to consist with Xen hypervisor
fpu_ctxt must be consistent between Dom0 and Xen hypervisor. Otherwise, dom0
cannot boot up.

Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx>

Xen-devel mailing list