mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
linux: Remove supports_time64 () from clock_gettime
It breaks the usage case of live migration like CRIU or similar. The performance drawback is it would require an extra syscall on older kernels without 64-bit time support. Checked on i686-linux-gnu on a 4.15 kernel and on a 5.11 kernel (with and without --enable-kernel=5.1) and on x86_64-linux-gnu. Reviewed-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
parent
283c6ebd5a
commit
4ad8b4645c
@ -22,7 +22,6 @@
|
||||
#include <time.h>
|
||||
#include "kernel-posix-cpu-timers.h"
|
||||
#include <sysdep-vdso.h>
|
||||
#include <time64-support.h>
|
||||
#include <shlib-compat.h>
|
||||
|
||||
/* Get current value of CLOCK and store it in TP. */
|
||||
@ -35,19 +34,14 @@ __clock_gettime64 (clockid_t clock_id, struct __timespec64 *tp)
|
||||
# define __NR_clock_gettime64 __NR_clock_gettime
|
||||
#endif
|
||||
|
||||
if (supports_time64 ())
|
||||
{
|
||||
#ifdef HAVE_CLOCK_GETTIME64_VSYSCALL
|
||||
r = INLINE_VSYSCALL (clock_gettime64, 2, clock_id, tp);
|
||||
r = INLINE_VSYSCALL (clock_gettime64, 2, clock_id, tp);
|
||||
#else
|
||||
r = INLINE_SYSCALL_CALL (clock_gettime64, clock_id, tp);
|
||||
r = INLINE_SYSCALL_CALL (clock_gettime64, clock_id, tp);
|
||||
#endif
|
||||
|
||||
if (r == 0 || errno != ENOSYS)
|
||||
return r;
|
||||
|
||||
mark_time64_unsupported ();
|
||||
}
|
||||
if (r == 0 || errno != ENOSYS)
|
||||
return r;
|
||||
|
||||
#ifndef __ASSUME_TIME64_SYSCALLS
|
||||
/* Fallback code that uses 32-bit support. */
|
||||
|
Loading…
Reference in New Issue
Block a user