|
Message-ID: <48546934-5ccd-0b1e-bf2b-306133101c6b@landley.net> Date: Wed, 27 Jul 2022 01:34:41 -0500 From: Rob Landley <rob@...dley.net> To: musl@...ts.openwall.com Subject: Re: sysconf(_SC_NPROCESSORS_CONF) broken. 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
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.