[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