Re: [PATCH v2 08/10] x86-64: Emulate vsyscalls

Andrew Lutomirski
2011-05-30T11:35:55Z

On Mon, May 30, 2011 at 6:59 AM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Andrew Lutomirski <luto@mit.edu> wrote:
>
>>
>> I'd advocate waiting until glibc 2.14 comes out with this change:
>>
>> http://sourceware.org/git/?p=glibc.git;a=commit;h=a8509ca540427502bd955f35296ff7b727c7a8a1
>>
>> I want to add a warning (ratelimited to an extremely low rate) in v3
>> whenever any of the vsyscalls get used telling users that their legacy
>> code is suffering a performance impact, but it seems like bad form to
>> tell people to build glibc from git to avoid a regression.
>
> But only statically built binaries would be impacted in practice,
> right? The number of statically built binaries that heavily rely on
> vsyscalls ought to be a very small set ...

With current glibc even dynamic binaries take the hit on time().

With the emulation warning (coming in v3), I get (on a Fedora 15-based VM):

[ 0.635493] init[1] emulated legacy vsyscall time(); upgrade your
code to avoid a performance hit. ip:ffffffffff600404 sp:7fff277fe9c8
caller:3da3e9e27d in libc.so.6[3da3e00000+192000]

--Andy