From nobody Thu Feb 23 17:52:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PN0wy6jN2z3sHpT; Thu, 23 Feb 2023 17:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PN0wy5r48z3phQ; Thu, 23 Feb 2023 17:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1677174770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOxEBpYk5AQqfOmSgzHA++68njyy3gFNWC4M4XJ9hzQ=; b=yzwEZ1Gzs35iARTAGMgdkiJbfjgMvKVQOuYXkt9MnFv35po+TUDAH87ziM584854QkDDrQ NbJJxScFlFHIDJAeR9hMjpvJYfbcfduYA081xM/zC3vmWSdgNNGvgXTyffWl4YKsKJAli+ dku/Ik4742vJUjSSaQnrSafdHf1grIUPTa3JXTaOKz8hiQsQbuZgxq/DuyvMi6cFlIXYlI qwxcGnLnyEATXVkOY20bYJRuXf6ALXRF6dpiN40E8pc8VAX0dM14JVvBM/azhYJjTER42B Xe4kuUGL4bLAoLHD+VATpP692Ec8BxNnrnCYFy7nioVVURnfPOhQ/ZRRpJUgrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1677174770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOxEBpYk5AQqfOmSgzHA++68njyy3gFNWC4M4XJ9hzQ=; b=moy4uq+IZFKVFVGdqReC69jTciW0UqFgThcR3eTeOAccB9XcOBE3fyMls4JYvW4WhxghXU VgH5B/JDfhezOJPnAb+TVKkQ8ZT10CyCTvQHxeXUwgp6tzfVB9H/bRu0AQ+muaijAZKdlg YN57nFdE15ZO2GCJQnAeyCYK4UiDBX8o5jVRcqOcjEOQFv2RvRuwCV8Y+4vIrXu8jFd08O dqLmD8h1lfx/Rek+qQubRLSCMlPE/Cx30P7BRXX5BAiKqretOThFe89uMQFN+1OvLh3xMk YJNlnbSxpa/QpFvWW9HcgLAVpeuu+jSinF6ICbsupLQLYhU5lJxJsLbw/j6FIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1677174770; a=rsa-sha256; cv=none; b=xcxwgF1jHakSZsAKJh2Vh6okMBY2juXh3pN+WxY3nrUNOvP9ItfG87yg24ivo9Nz93Kaip EpL9OJvom1t8K0OBy8V9+R/n/Y3sHX1UmvYoDuClZC16B2bacHAIggdPhNrzEFScek8c3S rP7qL6KA9KndkJlptHqS4UD34NcISUkJjQsu17Y3zp33C2bVW1wjwMCNXPp0czpO1eYrMG RkBdLHgKUL2L/SgqNByw18bmE3ueSZy5YmK/46l1T2kCxM70nO/5kiVJpCy6aWKChD6SCW tWISylkdqSvM8Cq9jaJTC0UB8kuAr2MXDhinnyjYSm60viM4iWqGWFlngyoxEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PN0wy4xLnzrSq; Thu, 23 Feb 2023 17:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31NHqoFG075830; Thu, 23 Feb 2023 17:52:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31NHqoJt075829; Thu, 23 Feb 2023 17:52:50 GMT (envelope-from git) Date: Thu, 23 Feb 2023 17:52:50 GMT Message-Id: <202302231752.31NHqoJt075829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 0ea305c63685 - releng/13.2 - nproc: denote an incompatiblity with Linux List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 0ea305c636857d806c351b50a7368ab67c9bfb9f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0ea305c636857d806c351b50a7368ab67c9bfb9f commit 0ea305c636857d806c351b50a7368ab67c9bfb9f Author: Mateusz Guzik AuthorDate: 2023-02-15 20:17:27 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-23 17:51:28 +0000 nproc: denote an incompatiblity with Linux On Linux _NPROCESSORS_CONF reports CPU threads disabled by the kernel, while it does not on FreeBSD. Flip _NPROCESSORS_ONLN to _NPROCESSORS_CONF. While it keeps reporting the same value, it will automagically unbreak should someone change the above. Approved by: re (cperciva) (cherry picked from commit 059320b8c8de73a90514879cd1e2da397584cfde) (cherry picked from commit 117d4cafdcb806407e38266de44aebe0b4e62b6f) --- bin/nproc/nproc.1 | 7 ++++++- bin/nproc/nproc.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/nproc/nproc.1 b/bin/nproc/nproc.1 index ae252fe0f50c..d4d97ccbb5be 100644 --- a/bin/nproc/nproc.1 +++ b/bin/nproc/nproc.1 @@ -3,7 +3,7 @@ .\" .\" * SPDX-License-Identifier: BSD-2-Clause .\" -.Dd February 5, 2023 +.Dd February 15, 2023 .Dt NPROC 1 .Os .Sh NAME @@ -39,6 +39,11 @@ Print usage information and exit. .El .Sh COMPATIBILITY This program is intended to be compatible with nproc as found in GNU coreutils. +.Sh BUGS +If HyperThreading is enabled in BIOS and disabled in the kernel, the +.Fl -all +option on Linux will still report all possible CPU threads. +On FreeBSD only active threads will be reported. .Sh SEE ALSO .Xr cpuset 1 .Sh HISTORY diff --git a/bin/nproc/nproc.c b/bin/nproc/nproc.c index 9037c74dbfff..c2ab75826ce1 100644 --- a/bin/nproc/nproc.c +++ b/bin/nproc/nproc.c @@ -110,7 +110,7 @@ main(int argc, char *argv[]) usage(); if (all_flag) { - cpus = sysconf(_SC_NPROCESSORS_ONLN); + cpus = sysconf(_SC_NPROCESSORS_CONF); if (cpus == -1) err(1, "sysconf"); } else {