On Thu, Jul 28, 2011 at 2:07 AM, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
> On 07/27/2011 09:33 PM, Andrew Lutomirski wrote:
>> On Sandy Bridge, a null vsyscall takes 373 ns. Without
>> VCGF_in_syscall, it's 457 ns. The change causes my little test app to
>> get cs == __USER_CS.
> Hm, 20% is more noticable than I would hope. What about a regular syscall?
VCGF_in_syscall: gettimeofday() (the syscall version) takes 593 ns.
Without VCGF_in_syscall, it's 712 ns.
I'd argue for using my original approach of adding a user_64bit_mode
function -- I think it's a legitimate cleanup and Xen, for better or
worse, really does have two long mode CPL 3 selectors. If we removed
selector 6 from the GDT, that would be a different story, but that
would probably be a more intrusive change.
Xen-devel mailing list