summaryrefslogtreecommitdiffstats
path: root/lib/libcxx/src/thread.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove libc++ and libc++abi 8.0.0 now that we switched to version 10.0.1patrick2021-01-111-222/+0
| | | | in the gnu/ directory.
* Merge libc++, libc++abi and libunwind version 8.0.0.patrick2019-06-171-2/+2
| | | | | | Ports build by naddy@ Tested by visa on octeon Tested by kettenis on macppc and sparc64
* merge libc++ 6.0.0 (bump lib major); ok patrick@, kettenis@robert2018-09-111-35/+17
|
* Add hw.ncpuonline to count the number of online CPUs.cheloha2018-07-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The introduction of hw.smt means that logical CPUs can be disabled after boot and prior to suspend/resume. If hw.smt=0 (the default), there needs to be a way to count the number of hardware threads available on the system at any given time. So, import HW_NCPUONLINE/hw.ncpuonline from NetBSD and document it. hw.ncpu becomes equal to the number of CPUs given to sched_init_cpu() during boot, while hw.ncpuonline is equal to the number of CPUs available to the scheduler in the cpuset "sched_all_cpus". Set_SC_NPROCESSORS_ONLN equal to this new sysctl and keep _SC_NPROCESSORS_CONF equal to hw.ncpu. This is preferable to adding a new sysctl to count the number of configured CPUs and keeping hw.ncpu equal to the number of online CPUs because such a change would break software in the ecosystem that relies on HW_NCPU/hw.ncpu to measure CPU usage and the like. Such software in base includes top(1), systat(1), and snmpd(8), and perhaps others. We don't need additional locking to count the cardinality of a cpuset in this case because the only interfaces that can modify said cardinality are sysctl(2) and ioctl(2), both of which are under the KERNEL_LOCK. Software using HW_NCPU/hw.ncpu to determine optimal parallism will need to be updated to use HW_NCPUONLINE/hw.ncpuonline. Until then, such software may perform suboptimally. However, most changes will be similar to the change included here for libcxx's std::thread:hardware_concurrency(): using HW_NCPUONLINE in lieu of HW_NCPU should be sufficient for determining optimal parallelism for most software if the change to _SC_NPROCESSORS_ONLN is insufficient. Prompted by deraadt. Discussed at length with kettenis, deraadt, and sthen. Lots of patch tweaks from kettenis. ok kettenis, "proceed" deraadt
* Import libc++ 3.9.0patrick2016-09-031-0/+240