glibc/sysdeps
Mathieu Desnoyers 6e29cb3f61 Linux: Use rseq in sched_getcpu if available
When available, use the cpu_id field from __rseq_abi on Linux to
implement sched_getcpu().  Fall-back on the vgetcpu vDSO if unavailable.

Benchmarks:

x86-64: Intel E5-2630 v3@2.40GHz, 16-core, hyperthreading

glibc sched_getcpu():                     13.7 ns (baseline)
glibc sched_getcpu() using rseq:           2.5 ns (speedup:  5.5x)
inline load cpuid from __rseq_abi TLS:     0.8 ns (speedup: 17.1x)
2020-07-06 10:21:32 +02:00
..
aarch64 aarch64: MTE compatible strncmp 2020-06-23 17:55:39 +01:00
alpha alpha: Use builtin sqrt{f} 2020-06-22 11:09:49 -03:00
arm arm: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
csky semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
generic Linux: Perform rseq registration at C startup and thread creation 2020-07-06 10:21:16 +02:00
gnu Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hppa dl-runtime: reloc_{offset,index} now functions arch overide'able 2020-06-05 13:45:46 -07:00
htl htl: Move cleanup handling to non-private libc-lock 2020-06-28 00:13:57 +00:00
hurd hurd: Fix port definition in HURD_PORT_USE_CANCEL 2020-06-28 18:04:26 +00:00
i386 i386: Use builtin sqrtl 2020-06-22 11:09:49 -03:00
ia64 ia64: Use generic exp10f 2020-06-19 12:08:52 -03:00
ieee754 New exp10f version without SVID compat wrapper 2020-06-19 12:08:47 -03:00
m68k m68k: Use sqrt{f} builtin for coldfire 2020-06-22 11:09:50 -03:00
mach hurd: Simplify usleep timeout computation 2020-06-29 10:10:32 +02:00
microblaze semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
mips mips: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
nios2 semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
nptl nptl: Add pthread_attr_setsigmask_np, pthread_attr_getsigmask_np 2020-06-02 11:59:18 +02:00
posix hurd: Fix __writev_nocancel_nostatus 2020-06-14 17:45:04 +00:00
powerpc powerpc: Add support for POWER10 2020-06-29 10:08:38 -03:00
pthread htl: Enable cancel*16 an cancel*20 tests 2020-06-29 00:16:33 +00:00
riscv riscv: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
s390 S390: Optimize __memset_z196. 2020-06-26 09:45:11 +02:00
sh semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
sparc sparc: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
unix Linux: Use rseq in sched_getcpu if available 2020-07-06 10:21:32 +02:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
x86 x86: Detect Intel Advanced Matrix Extensions 2020-06-26 06:53:05 -07:00
x86_64 i386: Use builtin sqrtl 2020-06-22 11:09:49 -03:00