[Bug 200802] MAXCPU bump to 256 breaks ABI for cpuset_getaffinity/setaffinity
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 15 Feb 2023 21:48:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200802 --- Comment #8 from Dmitry Chagin <dchagin@FreeBSD.org> --- (In reply to Ed Maste from comment #7) yeah, and this: commit 01f74ccd5a0d1a444703e931339709c7de5296b5 Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2023-01-29 12:35:18 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2023-01-29 12:35:18 +0000 libthr: Fix pthread_attr_[g|s]etaffinity_np to match it's manual and the kernel. Since f35093f8 semantics of a thread affinity functions is changed to be a compatible with Linux: In case of getaffinity(), the minimum cpuset_t size that the kernel permits is the maximum CPU id, present in the system, / NBBY bytes, the maximum size is not limited. In case of setaffinity(), the kernel does not limit the size of the user-provided cpuset_t, internally using only the meaningful part of the set, where the upper bound is the maximum CPU id, present in the system, no larger than the size of the kernel cpuset_t. To match pthread_attr_[g|s]etaffinity_np checks of the user-provided cpusets to the kernel behavior export the minimum cpuset_t size allowed by running kernel via new sysctl kern.sched.cpusetsizemin and use it in checks. Reviewed by: Differential Revision: https://reviews.freebsd.org/D38112 MFC after: 1 week -- You are receiving this mail because: You are the assignee for the bug.