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

From: Keir Fraser
Date: Thu May 18 2006 - 16:50:17 EST



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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/