This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] Use VDSO interface for gettimeofday on aarch64


Hi,

Steve Ellcey wrote:

> This is a Aarch64 version of gettimeofday that uses the VDSO interface
> when it is available.  I did a test with 100000000 gettimeofday calls
> on a T88 and the time went from 7.1 seconds to 5.5 seconds.   I also
> ran the glibc testsuite and I did not get any regressions.

Yay!

[...]
> --- a/sysdeps/unix/sysv/linux/aarch64/gettimeofday.c
> +++ b/sysdeps/unix/sysv/linux/aarch64/gettimeofday.c
> @@ -0,0 +1,69 @@
[...]
> +/* PREPARE_VERSION will need an __LP64__ ifdef when ILP32 support
> +   goes in.  See _libc_vdso_platform_setup in
> +   sysdeps/unix/sysv/linux/aarch64/init-first.c.  */
> +
> +# undef INIT_ARCH
> +# define INIT_ARCH() \
> +	   PREPARE_VERSION (linux_version, "LINUX_2.6.39", 123718537); \

Can this be added as a PREPARE_VERSION_KNOWN?

> +	   void *vdso_gettimeofday = \
> +	     _dl_vdso_vsym ("__kernel_gettimeofday", &linux_version);

I was surprised to see LINUX_2.6.39 here, but that's really what the
symbol version exported from Linux is called.  It was actually
introduced in v3.7-rc1~178^2~15.  I then suspected it was for
consistency with arm, but arm uses LINUX_2.6.  Maybe that's just how
long it took for the patch to be merged?

Not related to your patch, just an issue I was curious about on the
way.

The rest looks good.

With or without the PREPARE_VERSION_KNOWN change mentioned above,
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>

Thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]