diff options
| author | Brad Smith <brad@comstyle.com> | 2025-05-09 02:13:13 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-06-01 17:15:13 -0700 |
| commit | 7f1a09dbb643c8669928ee32337ff92370fc1157 (patch) | |
| tree | 09c2743b7d5a80b3f03c7e0fab9bd03e5e0f310f | |
| parent | d50a5e8939abfc07c2ff97ae72e9330939b36ee0 (diff) | |
thread-utils.c: detect online CPU count on OpenBSD / NetBSD
OpenBSD / NetBSD use HW_NCPUONLINE to detect the online CPU
count. OpenBSD ships with SMT disabled on X86 systems so
HW_NCPU would provide double the number of CPUs as opposed
to the proper online count.
Signed-off-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Collin Funk <collin.funk1@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | thread-utils.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/thread-utils.c b/thread-utils.c index 1f89ffab4c..374890e6b0 100644 --- a/thread-utils.c +++ b/thread-utils.c @@ -46,11 +46,11 @@ int online_cpus(void) mib[0] = CTL_HW; # ifdef HW_AVAILCPU mib[1] = HW_AVAILCPU; - len = sizeof(cpucount); - if (!sysctl(mib, 2, &cpucount, &len, NULL, 0)) - return cpucount; -# endif /* HW_AVAILCPU */ +# elif defined(HW_NCPUONLINE) + mib[1] = HW_NCPUONLINE; +# else mib[1] = HW_NCPU; +# endif /* HW_AVAILCPU */ len = sizeof(cpucount); if (!sysctl(mib, 2, &cpucount, &len, NULL, 0)) return cpucount; |
