glibc/sysdeps/unix
Dmitry V. Levin e1d32b8364 linux: fix accuracy of get_nprocs and get_nprocs_conf [BZ #28865]
get_nprocs() and get_nprocs_conf() use various methods to obtain an
accurate number of processors.  Re-introduce __get_nprocs_sched() as
a source of information, and fix the order in which these methods are
used to return the most accurate information.  The primary source of
information used in both functions remains unchanged.

This also changes __get_nprocs_sched() error return value from 2 to 0,
but all its users are already prepared to handle that.

Old fallback order:
  get_nprocs:
    /sys/devices/system/cpu/online -> /proc/stat -> 2
  get_nprocs_conf:
    /sys/devices/system/cpu/ -> /proc/stat -> 2

New fallback order:
  get_nprocs:
    /sys/devices/system/cpu/online -> /proc/stat -> sched_getaffinity -> 2
  get_nprocs_conf:
    /sys/devices/system/cpu/ -> /proc/stat -> sched_getaffinity -> 2

Fixes: 342298278e ("linux: Revert the use of sched_getaffinity on get_nproc")
Closes: BZ #28865
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2022-02-07 20:18:29 +00:00
..
alpha Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
arm Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
bsd posix: Add terminal control setting support for posix_spawn 2022-01-25 14:07:53 -03:00
i386 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
inet Remove obsolete, never-implemented XSI STREAMS declarations 2019-03-14 15:44:15 +01:00
mips Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
powerpc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sh Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sysv/linux linux: fix accuracy of get_nprocs and get_nprocs_conf [BZ #28865] 2022-02-07 20:18:29 +00:00
x86_64 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getlogin_r.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getlogin.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getpagesize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
grantpt.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ifreq.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Implies
make-syscalls.sh Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-04-29 05:35:34 -07:00
Makefile Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
syscall-template.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
syscall.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
syscalls.list misc: Add time64 alias for ioctl 2021-07-21 11:58:09 +02:00
sysdep.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00