summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Smith <brad@comstyle.com>2025-05-09 02:13:13 -0400
committerJunio C Hamano <gitster@pobox.com>2025-06-01 17:15:13 -0700
commit7f1a09dbb643c8669928ee32337ff92370fc1157 (patch)
tree09c2743b7d5a80b3f03c7e0fab9bd03e5e0f310f
parentd50a5e8939abfc07c2ff97ae72e9330939b36ee0 (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.c8
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;