From: Rob Landley <rob@landley.net>
To: musl@lists.openwall.com
Subject: [musl] Re: sysconf(_SC_NPROCESSORS_CONF) broken.
Date: Wed, 27 Jul 2022 01:34:41 -0500 [thread overview]
Message-ID: <48546934-5ccd-0b1e-bf2b-306133101c6b@landley.net> (raw)
In-Reply-To: <43e9ad2b-d53c-5fd5-0211-766f946c90f9@landley.net>
On 7/27/22 01:28, Rob Landley wrote:
> NPROCESSORS_CONF is supposed to show total processors, NPROCESSORS_ONLN shows
> available processors using the tasket mask sched_getaffinity()).
>
> Musl is (uniquely) using the getaffinity() version for both. Neither glibc nor
> bionic have that bug.
>
> Test: my laptop has 4 processors:
>
> $ taskset 7 nproc
> 3
> $ taskset 7 nproc --all
> 4
>
> With musl, both show 3.
P.S. According to strace, devuan's nprocs --all is reading sysfs:
openat(AT_FDCWD, "/sys/devices/system/cpu",
O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
getdents64(3, /* 22 entries */, 32768) = 656
getdents64(3, /* 0 entries */, 32768) = 0
At a guess, counting the cpu[0-9]* entries? I looked at bionic's source and it
had a comment that x86 can use /proc/cpuinfo but arm only shows "available"
processors there, not total processors...
Rob
next prev parent reply other threads:[~2022-07-27 6:27 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-27 6:28 [musl] " Rob Landley
2022-07-27 6:34 ` Rob Landley [this message]
2022-07-27 17:58 ` [musl] " Szabolcs Nagy
2022-07-27 21:29 ` Jonathan Rajotte-Julien
2022-07-28 17:27 ` enh
2022-07-29 18:42 ` enh
2022-07-29 18:53 ` NRK
2022-07-29 19:39 ` enh
2022-07-27 18:05 ` enh
2022-07-27 23:06 ` [musl] dynamic linker is capturing "reserved" library names erroneously Christopher Sean Morrison
2022-07-28 9:18 ` Szabolcs Nagy
2022-07-28 20:39 ` Christopher Sean Morrison
2022-07-29 0:07 ` Rich Felker
2022-07-29 6:19 ` Christopher Sean Morrison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48546934-5ccd-0b1e-bf2b-306133101c6b@landley.net \
--to=rob@landley.net \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).