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


[Xen-devel] Re: [RFC PATCH 17/35] Segment register changes for Xen

On 18 May 2006, at 21:20, Zachary Amsden wrote:

1. We clear FS/GS before changing TLS entries and switching LDT, as
otherwise the hypervisor will fail to restore thread-local values on
return to the guest kernel and we take a slow exception path.

@@ -647,6 +647,8 @@ struct task_struct fastcall * __switch_t
        savesegment(fs, prev->fs);
        savesegment(gs, prev->gs);
+       clearsegment(fs);
+       clearsegment(gs);

Really not needed. Think about it. You can even speed up Xen. I'm glad the native operation here is a nop, but it should be hypervisor_clearsegment or xen_clearsegment if you really want to keep it.

Maybe you could explain in more detail? It's not needed for correctness, but it is faster for us to clear at that point.

 -- Keir

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>