From nobody Fri Sep 25 00:01:22 2026 Received: from mta0.migadu.com (out-65.mta0.migadu.com [91.218.175.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 946313E9C37 for ; Fri, 18 Sep 2026 10:24:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.65 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789727067; cv=none; b=lStEVDJMbzIE3e6d8d0f5dS3ixYifFhtxgjQ7eTP8Ez8fmxOasdaEjWGk+o4DXsvkIC/swQ8lEsWh81UJxL8jLWewypifsZBJaXED/0TX+MU09N81o8TC7pGKyu5iWtSF+nyCW3+r4OFIvKeqde1neT/1c3WdvqfqNplUVBdeew= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789727067; c=relaxed/simple; bh=8oDsVyqBLxEiDren+mvzSBEhfATjLL22N1BKky2enWM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IDTRhSQmr2nv0hAV2Ash/Dt9WFps6BjlUtYcGqhnY0G01z+i2eySkMkhkRi8UeQRstYZcSRjl95KXe5uDUwrTnaEjNXYWzbj7f0DjW2PFQ4UX9iFFas9ZJiqfIoyjAtnHtFpgi4t8piz6cqh2VnUFz+wcTCtILrwtjekL/nrn/A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=LBZcRZGo; arc=none smtp.client-ip=91.218.175.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="LBZcRZGo" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=8oDsVyqBLxEiDren+mvzSBEhfATjLL22N1BKky2enWM=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789727063; v=1; x=1790331863; b=LBZcRZGogK+s/sDHopOcmI1V79FawoL1b0hvSL7ipsgtIKmzmoQiAbiYlxVWOzu9tL2ubUzF Kt/y+Pu7e1+rgh9l7dgsaSWwdR/aejacbhin5Rzo1oQ1GB7O3eY+0BaMLLSyk7/HojA+hgnwj/t Qyx6S4LOhenuho3mjLPzjU+o= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 49790fc8767d1b32; Fri, 18 Sep 2026 10:24:23 +0000 X-Mizu-Trace-ID: 49790fc8767d1b32 X-Migadu-Flow: FLOW_OUT From: Guopeng Zhang To: Tejun Heo , Waiman Long Cc: Johannes Weiner , =?UTF-8?q?Michal=20Koutn=C3=BD?= , Ridong Chen , Jonathan Corbet , Shuah Khan , Randy Dunlap , cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Guopeng Zhang Subject: [PATCH 1/2] docs: cgroup-v2: Describe boot-isolated CPUs in cpuset.cpus.isolated Date: Fri, 18 Sep 2026 18:23:58 +0800 Message-ID: <20260918102359.71826-2-guopeng.zhang@linux.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918102359.71826-1-guopeng.zhang@linux.dev> References: <20260918102359.71826-1-guopeng.zhang@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Guopeng Zhang cpuset.cpus.isolated is documented as empty when no isolated partition exists. This is not true when CPUs are isolated at boot with isolcpus=3Ddomain. cpuset_init() adds those CPUs to the isolated mask, and isolcpus=3D uses domain isolation by default. They remain listed after a partition using them is released. Document the boot-isolated CPUs as well. Signed-off-by: Guopeng Zhang Reviewed-by: Ridong Chen --- Documentation/admin-guide/cgroup-v2.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-= guide/cgroup-v2.rst index 2ec582985b5b..272e9f2432bd 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -2625,9 +2625,11 @@ Cpuset Interface Files cpuset.cpus.isolated A read-only and root cgroup only multiple values file. =20 - This file shows the set of all isolated CPUs used in existing - isolated partitions. It will be empty if no isolated partition - is created. + This file shows CPUs isolated from scheduler domains by + isolated cpuset partitions or at boot with "isolcpus=3Ddomain" + (including the default "isolcpus=3D" form). CPUs + isolated at boot remain listed after any partition using them + is released. =20 cpuset.cpus.partition A read-write single value file which exists on non-root --=20 2.43.0 From nobody Fri Sep 25 00:01:22 2026 Received: from mta0.migadu.com (out-80.mta0.migadu.com [91.218.175.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FC7C495044 for ; Fri, 18 Sep 2026 10:24:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.80 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789727076; cv=none; b=X5ghAHZgoj13HgJokfjnnS0wYYk8PLNWvO51bF439p0iW2mvzCYEwPnUZv7Thp/ZyxbekaaVUPRHm5Uup9cRpVwIf1q0zCrm1eAQ1IWdqQROwwpN+quXwxiHZd+gCsN7s13X0a8TBbcr264limcbV/jf1YFo5mT4C4lvyJJ226w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789727076; c=relaxed/simple; bh=J45Y1ObSy/eJBhcSeTA5XpHzBDid6XYZQmAy94wszCg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gpnXOfhi8t6XxqAc1am1/70SGIf/WLL2OBoWJqtwLgburG0BXpmYj4YSlMZ8zU+epq0m3p41/LgSpDMISFUHWMpToHnkiMk9baCpZc9IaBXCGm1Cmnm5UWKOHCB7+i4tZECxojLLI9zX/uTtGFXTiKxIC6HEBCDXhW3KB/c+Zbg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=EUZWBpPL; arc=none smtp.client-ip=91.218.175.80 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="EUZWBpPL" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=J45Y1ObSy/eJBhcSeTA5XpHzBDid6XYZQmAy94wszCg=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789727071; v=1; x=1790331871; b=EUZWBpPLap2Zq2wEJLWGFF8tiY6xuFKhuNP65atENvfuX2JOS5twZuAG3RrLrNi1XBytYh7p iufruDSHQ3pnlOiXbrp13qAvxC377TCozFNwdMDUV8Dr1ZrZIIl2IqXg96ac5c5uhoozr9rSCrP 8EkPDpriOWSCWb7iCcENQVFk= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 05f701c3f01e40bb; Fri, 18 Sep 2026 10:24:31 +0000 X-Mizu-Trace-ID: 05f701c3f01e40bb X-Migadu-Flow: FLOW_OUT From: Guopeng Zhang To: Tejun Heo , Waiman Long Cc: Johannes Weiner , =?UTF-8?q?Michal=20Koutn=C3=BD?= , Ridong Chen , Jonathan Corbet , Shuah Khan , Randy Dunlap , cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Guopeng Zhang Subject: [PATCH 2/2] docs: cgroup-v2: Describe effective CPUs of partition roots Date: Fri, 18 Sep 2026 18:23:59 +0800 Message-ID: <20260918102359.71826-3-guopeng.zhang@linux.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918102359.71826-1-guopeng.zhang@linux.dev> References: <20260918102359.71826-1-guopeng.zhang@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Guopeng Zhang The cpuset.cpus.effective description says that the effective CPUs are granted by the parent and are normally a subset of cpuset.cpus. This does not always hold for a valid non-root partition root. Its effective CPUs are the active CPUs in cpuset.cpus.exclusive.effective after CPUs assigned to valid child partition roots are removed. If cpuset.cpus.exclusive differs from cpuset.cpus, the effective CPUs may therefore be outside cpuset.cpus. Remote partitions also do not necessarily get their CPUs from their immediate parent. Signed-off-by: Guopeng Zhang --- Documentation/admin-guide/cgroup-v2.rst | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-= guide/cgroup-v2.rst index 272e9f2432bd..49ce8deb4115 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -2505,16 +2505,25 @@ Cpuset Interface Files A read-only multiple values file which exists on all cpuset-enabled cgroups. =20 - It lists the onlined CPUs that are actually granted to this - cgroup by its parent. These CPUs are allowed to be used by - tasks within the current cgroup. - - If "cpuset.cpus" is empty, the "cpuset.cpus.effective" file shows - all the CPUs from the parent cgroup that can be available to - be used by this cgroup. Otherwise, it should be a subset of - "cpuset.cpus" unless none of the CPUs listed in "cpuset.cpus" - can be granted. In this case, it will be treated just like an - empty "cpuset.cpus". + It lists the active CPUs available to tasks in this cgroup. + + For a cgroup that is not a valid partition root, an empty + "cpuset.cpus" makes "cpuset.cpus.effective" show all CPUs + available from the parent cgroup. Otherwise, it is a subset + of "cpuset.cpus" unless none of the requested CPUs can be + granted. In that case, it is treated like an empty + "cpuset.cpus". + + For a valid non-root partition root, "cpuset.cpus.effective" contains + the active CPUs from "cpuset.cpus.exclusive.effective" except + those granted to valid child partition roots. If + "cpuset.cpus.exclusive" is set to a value different from + "cpuset.cpus", the effective CPUs need not be a subset of + "cpuset.cpus". For example, if CPUs 2-5 are active, + available, and not assigned to a valid child partition root, + a partition root with "cpuset.cpus" set to "0-3" and + "cpuset.cpus.exclusive" set to "2-5" has "2-5" in + "cpuset.cpus.effective". =20 Its value will be affected by CPU hotplug events. =20 --=20 2.43.0