[PATCH v2 3/3] linux: Revert the use of sched_getaffinity on get_nproc (BZ #28310)
Florian Weimer
fweimer@redhat.com
Mon Sep 13 11:05:55 GMT 2021
* Adhemerval Zanella:
> The use of sched_getaffinity on get_nproc and
> sysconf (_SC_NPROCESSORS_ONLN) done in 903bc7dcc2acafc40 (BZ #27645)
> breaks the top command in common hypervisor configurations and also
> other monitoring tools.
>
> The main issue using sched_getaffinity changed the symbols semantic
> from system-wide scope of online CPUs to per-process one (which can
> be changed with kernel cpusets or book parameters in VM).
>
> This patch reverts mostly of the 903bc7dcc2acafc40, with the
> exceptions:
>
> * No more cached values and atomic updates, since they are inherent
> racy.
>
> * No /proc/cpuinfo fallback, since /proc/stat is already used and
> it would require to revert more arch-specific code.
>
> * The alloca is replace with a static buffer of 1024 bytes.
>
> So the implementation first consult the sysfs, and fallbacks to procfs.
Looks okay.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Thanks,
Florian
More information about the Libc-alpha
mailing list