mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
Add getcpu
Add #include <sched.h> int getcpu (unsigned int *cpu, unsigned int *node); to return currently used CPU and NUMA node. Tested on x86-64, x32 and i686 as well as with build-many-glibcs.py. * NEWS: Mention getcpu. * include/sched.h (__getcpu): New libc_hidden_proto. * manual/resource.texi: Document getcpu. * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add getcpu. * sysdeps/unix/sysv/linux/Versions (GLIBC_2.29): Add getcpu. * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add getcpu. * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/bits/sched.h (getcpu): New prototype. * sysdeps/unix/sysv/linux/getcpu.c: New file. * sysdeps/unix/sysv/linux/tst-skeleton-affinity.c (test_size): Also check getcpu.
This commit is contained in:
43
ChangeLog
43
ChangeLog
@ -1,3 +1,46 @@
|
|||||||
|
2018-12-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* NEWS: Mention getcpu.
|
||||||
|
* include/sched.h (__getcpu): New libc_hidden_proto.
|
||||||
|
* manual/resource.texi: Document getcpu.
|
||||||
|
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add getcpu.
|
||||||
|
* sysdeps/unix/sysv/linux/Versions (GLIBC_2.29): Add getcpu.
|
||||||
|
* sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add getcpu.
|
||||||
|
* sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist:
|
||||||
|
Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
|
||||||
|
Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
|
||||||
|
Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
|
||||||
|
Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist:
|
||||||
|
Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/bits/sched.h (getcpu): New prototype.
|
||||||
|
* sysdeps/unix/sysv/linux/getcpu.c: New file.
|
||||||
|
* sysdeps/unix/sysv/linux/tst-skeleton-affinity.c (test_size):
|
||||||
|
Also check getcpu.
|
||||||
|
|
||||||
2018-12-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
2018-12-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||||
|
|
||||||
* sysdeps/mach/hurd/spawni.c (child_lookup_under, child_fchdir): New
|
* sysdeps/mach/hurd/spawni.c (child_lookup_under, child_fchdir): New
|
||||||
|
3
NEWS
3
NEWS
@ -9,6 +9,9 @@ Version 2.29
|
|||||||
|
|
||||||
Major new features:
|
Major new features:
|
||||||
|
|
||||||
|
* The getcpu wrapper function has been added, which returns the currently
|
||||||
|
used CPU and NUMA node. This function is Linux-specific.
|
||||||
|
|
||||||
* A new convenience target has been added for distribution maintainers
|
* A new convenience target has been added for distribution maintainers
|
||||||
to build and install all locales as directories with files. The new
|
to build and install all locales as directories with files. The new
|
||||||
target is run by issuing the following command in your build tree:
|
target is run by issuing the following command in your build tree:
|
||||||
|
@ -26,5 +26,7 @@ libc_hidden_proto (__clone)
|
|||||||
extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
|
extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
|
||||||
size_t __child_stack_size, int __flags, void *__arg, ...);
|
size_t __child_stack_size, int __flags, void *__arg, ...);
|
||||||
libc_hidden_proto (__clone2)
|
libc_hidden_proto (__clone2)
|
||||||
|
extern __typeof__ (getcpu) __getcpu;
|
||||||
|
libc_hidden_proto (__getcpu)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -1429,6 +1429,27 @@ not leave a processor for the process or thread to run on.
|
|||||||
This function is a GNU extension and is declared in @file{sched.h}.
|
This function is a GNU extension and is declared in @file{sched.h}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun int getcpu (unsigned int *cpu, unsigned int *node)
|
||||||
|
@standards{Linux, <sched.h>}
|
||||||
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||||
|
The @code{getcpu} function identifies the processor and node on which
|
||||||
|
the calling thread or process is currently running and writes them into
|
||||||
|
the integers pointed to by the @var{cpu} and @var{node} arguments. The
|
||||||
|
processor is a unique nonnegative integer identifying a CPU. The node
|
||||||
|
is a unique nonnegative integer identifying a NUMA node. When either
|
||||||
|
@var{cpu} or @var{node} is @code{NULL}, nothing is written to the
|
||||||
|
respective pointer.
|
||||||
|
|
||||||
|
The return value is @code{0} on success and @code{-1} on failure. The
|
||||||
|
following @code{errno} error condition is defined for this function:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item ENOSYS
|
||||||
|
The operating system does not support this function.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
This function is Linux-specific and is declared in @file{sched.h}.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@node Memory Resources
|
@node Memory Resources
|
||||||
@section Querying memory available resources
|
@section Querying memory available resources
|
||||||
|
@ -142,7 +142,7 @@ endif
|
|||||||
ifeq ($(subdir),posix)
|
ifeq ($(subdir),posix)
|
||||||
sysdep_headers += bits/initspin.h
|
sysdep_headers += bits/initspin.h
|
||||||
|
|
||||||
sysdep_routines += sched_getcpu oldglob
|
sysdep_routines += sched_getcpu oldglob getcpu
|
||||||
|
|
||||||
tests += tst-affinity tst-affinity-pid
|
tests += tst-affinity tst-affinity-pid
|
||||||
|
|
||||||
|
@ -171,6 +171,9 @@ libc {
|
|||||||
mlock2;
|
mlock2;
|
||||||
pkey_alloc; pkey_free; pkey_set; pkey_get; pkey_mprotect;
|
pkey_alloc; pkey_free; pkey_set; pkey_get; pkey_mprotect;
|
||||||
}
|
}
|
||||||
|
GLIBC_2.29 {
|
||||||
|
getcpu;
|
||||||
|
}
|
||||||
GLIBC_PRIVATE {
|
GLIBC_PRIVATE {
|
||||||
# functions used in other libraries
|
# functions used in other libraries
|
||||||
__syscall_rt_sigqueueinfo;
|
__syscall_rt_sigqueueinfo;
|
||||||
|
@ -2138,5 +2138,6 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
|
@ -2033,6 +2033,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -123,6 +123,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.4 _Exit F
|
GLIBC_2.4 _Exit F
|
||||||
|
@ -86,6 +86,9 @@ extern int unshare (int __flags) __THROW;
|
|||||||
/* Get index of currently used CPU. */
|
/* Get index of currently used CPU. */
|
||||||
extern int sched_getcpu (void) __THROW;
|
extern int sched_getcpu (void) __THROW;
|
||||||
|
|
||||||
|
/* Get currently used CPU and NUMA node. */
|
||||||
|
extern int getcpu (unsigned int *, unsigned int *) __THROW;
|
||||||
|
|
||||||
/* Switch process to namespace of type NSTYPE indicated by FD. */
|
/* Switch process to namespace of type NSTYPE indicated by FD. */
|
||||||
extern int setns (int __fd, int __nstype) __THROW;
|
extern int setns (int __fd, int __nstype) __THROW;
|
||||||
#endif
|
#endif
|
||||||
|
38
sysdeps/unix/sysv/linux/getcpu.c
Normal file
38
sysdeps/unix/sysv/linux/getcpu.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sched.h>
|
||||||
|
#include <sysdep.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_GETCPU_VSYSCALL
|
||||||
|
# define HAVE_VSYSCALL
|
||||||
|
#endif
|
||||||
|
#include <sysdep-vdso.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
__getcpu (unsigned int *cpu, unsigned int *node)
|
||||||
|
{
|
||||||
|
#ifdef __NR_getcpu
|
||||||
|
return INLINE_VSYSCALL (getcpu, 3, cpu, node, NULL);
|
||||||
|
#else
|
||||||
|
__set_errno (ENOSYS);
|
||||||
|
return -1;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
weak_alias (__getcpu, getcpu)
|
||||||
|
libc_hidden_def (__getcpu)
|
@ -1880,6 +1880,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -2045,6 +2045,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1914,6 +1914,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -124,6 +124,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.4 _Exit F
|
GLIBC_2.4 _Exit F
|
||||||
|
@ -1989,6 +1989,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -2130,5 +2130,6 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
|
@ -1967,6 +1967,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1965,6 +1965,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1973,6 +1973,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1968,6 +1968,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -2171,5 +2171,6 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
|
@ -1993,6 +1993,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1997,6 +1997,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -2228,5 +2228,6 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
|
@ -123,6 +123,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 _Exit F
|
GLIBC_2.3 _Exit F
|
||||||
|
@ -2100,5 +2100,6 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
|
@ -2002,6 +2002,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1908,6 +1908,7 @@ GLIBC_2.28 thrd_equal F
|
|||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
GLIBC_2.29 __fentry__ F
|
GLIBC_2.29 __fentry__ F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1884,6 +1884,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1996,6 +1996,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -1937,6 +1937,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -189,6 +189,18 @@ test_size (const struct conf *conf, size_t size)
|
|||||||
printf ("error: Unexpected CPU %d, expected %d\n", active_cpu, cpu);
|
printf ("error: Unexpected CPU %d, expected %d\n", active_cpu, cpu);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
unsigned int numa_cpu, numa_node;
|
||||||
|
if (getcpu (&numa_cpu, &numa_node) != 0)
|
||||||
|
{
|
||||||
|
printf ("error: getcpu: %m\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((unsigned int) active_cpu != numa_cpu)
|
||||||
|
{
|
||||||
|
printf ("error: Unexpected CPU %d, expected %d\n",
|
||||||
|
active_cpu, numa_cpu);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (getaffinity (kernel_size, set2) < 0)
|
if (getaffinity (kernel_size, set2) < 0)
|
||||||
{
|
{
|
||||||
printf ("error: size %zu: getaffinity (2): %m\n", size);
|
printf ("error: size %zu: getaffinity (2): %m\n", size);
|
||||||
|
@ -1895,6 +1895,7 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
GLIBC_2.3 __ctype_b_loc F
|
GLIBC_2.3 __ctype_b_loc F
|
||||||
|
@ -2146,5 +2146,6 @@ GLIBC_2.28 thrd_current F
|
|||||||
GLIBC_2.28 thrd_equal F
|
GLIBC_2.28 thrd_equal F
|
||||||
GLIBC_2.28 thrd_sleep F
|
GLIBC_2.28 thrd_sleep F
|
||||||
GLIBC_2.28 thrd_yield F
|
GLIBC_2.28 thrd_yield F
|
||||||
|
GLIBC_2.29 getcpu F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
|
||||||
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
|
||||||
|
Reference in New Issue
Block a user