From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 4D3073672AC for ; Fri, 10 Jul 2026 03:28:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783654133; cv=none; b=u2UclLFznnLBuF2xwp7HZrj+LB/NJw0zYVyrkaKWj/GNi5IDs+KozdOrHOWdk1IHYwEs3a/ZGWw7iNk5tGBo4qwFgcs7aXoOHEHSLmy1ZLgc6tmaGyRWPM6MxLq0lvyGs5HmUNb7w76bG8ywxyFRw6hIxwQ/ZqfmF1TVoGuVtW0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783654133; c=relaxed/simple; bh=DSH1dsD7ufyJUSitPhujJbKPkynswivD0Ay115xuL8k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AIQ/48jj9rW3YX5yTgivQpkz8ASgLb5IAyqbdiz3kQL4USfy+tYcTNkVdbJSMc+7WBxArejL+54hTuc8m1wvaAjrrcEvu3mjSB4vmaICPeFnxwRrnAA1xXH+mTtsAFFhzBkMVvvwfyN3dMNqe59chZCSguVJjAlInYrxwluXAUw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TOqZeRep; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TOqZeRep" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2caf4496889so3430475ad.1 for ; Thu, 09 Jul 2026 20:28:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783654130; x=1784258930; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8OHQR36SH5DHkwv4ahYjdM9a+G5jG41FdFMZ2BcZsNM=; b=TOqZeRep6oegsbqogMXnoxA1Rl9xdeE5wTH4F3P1nrrQZoy03wVa7K5pG04W8Je6N6 iYxhrF4ccDJjIVym2aNTT6Pf4ElV2wq6jDKLnoVG5X49+Y5/+e9WeRxIG5KjHM7UM+S7 pNa9ryubNJodOkwUmNDEbOYJl+JOnZznJAPznk9MmvXxk+1E/YUfxSJ1+teWOatFBujw U4DyC85XyO0CgHkS1GO8DQHlxXOkmAHNIpHbqEu4ZnxFBgE2eF3cipGp4QbWKlA/EW7k KIwSgYtL2cP9/itQ/izW2ZTrJ0hZph4+HRXDuXMwc6EmBhj6V4wX6QzHzyGLvoX2gEdf kpqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783654130; x=1784258930; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=8OHQR36SH5DHkwv4ahYjdM9a+G5jG41FdFMZ2BcZsNM=; b=n/aC+9N1QFW5nr9rwuEdUdIy/PuZ1Q8uQZs1iJBp++Y1UvLeBgtWgaW20tzcWKEQsy g9hgSqGrcmewwqqIadipv4rWlaOCBACaozSxCd/+6MozgUWBJb/eMWuPVsjvJoqzb11G eWFz60t3yYNw+fZ7wqqEirh/hqUlVkdHSkxxOSTqddf1O3reuEbPlJCXCmM6pb36ha1C BVbP40cd+EgCmAKG8tP69vvx1OpCarP2qi3d+hCodgjiH4mFZbRD+ery8Ea9jitH1A8E pMIRK/ILTlXvsXTQJ4mO3usXDjIlGesRpjfsgWHfmzwhr7kJSYbcDM9E44Jqoy/xxudv JUzg== X-Forwarded-Encrypted: i=1; AHgh+RpyZ1WIoGtyAML5I6sekKVNGdkxXEXSmHHgExs27IJlVRzhhatMYwNJp33NfsO/9XVH7sw57sZUnHU=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2cpcyxh828UbBs8FBfdwoqU1CTUhBbw1qFYW3E7bAYXkAbJh3 GBLK5KsamIyMwMJ6Rdib05zwNx7C1d7bMbu8xbCzuv13LuKK+b11B2Bi X-Gm-Gg: AfdE7cm4v+Njb41MT/Tqev2ry3eb8Cwvjr4xe0zUsx3kLeRiIMu/I8L9MSBIQBNybiP modRzOaKsNkdVjinloEHv9+G781cJDJek+01jaeoKBvRRxuJWBE3nr1KzVTuZXBOR0aBaUicPC3 Ilskx7/kwDS99AKAkInTfGRfM5uW5rR8V/0mTLmAULIzaqNcR+i+xCuAbvFkIvRccHYY7VGgdft 8aZSP3tmZBQ3d4lOz1/3sIMHb6aSUEtg2Ymsl49qxb8bv3qhwr2duACnWcvvvFyeka6aklzwNlm PcESh0FNTXQPiHBXERbzfXHaddgHLnjMA8xcyFyIMUEJoLlQyGl0OG/NtSyFuDPDTBH9HS2Vfem w8bLi1aAcMVeU9B/esU835obAddw2ieS1XbLdW+2XFx8wsILepUE/XbsjFQSrkTGJzVqZp9e7ne wBVEJIhHG9T7I= X-Received: by 2002:a17:902:d2c7:b0:2c9:994c:9a5 with SMTP id d9443c01a7336-2ce8298a501mr18775855ad.30.1783654129682; Thu, 09 Jul 2026 20:28:49 -0700 (PDT) Received: from [127.0.1.1] ([138.199.21.246]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9bdb56fsm53436465ad.15.2026.07.09.20.28.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 20:28:49 -0700 (PDT) From: Jing Wu Date: Fri, 10 Jul 2026 11:28:14 +0800 Subject: [PATCH v4 03/11] cgroup/cpuset: Drive kernel-noise housekeeping updates from isolated partitions Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260710-wujing-dhm-v4-3-2e912e5d9645@gmail.com> References: <20260710-wujing-dhm-v4-0-2e912e5d9645@gmail.com> In-Reply-To: <20260710-wujing-dhm-v4-0-2e912e5d9645@gmail.com> To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Uladzislau Rezki , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Anna-Maria Behnsen , Tejun Heo , Jonathan Corbet , Shuah Khan , Shuah Khan , Thomas Gleixner Cc: Waiman Long , linux-kernel@vger.kernel.org, rcu@vger.kernel.org, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Jing Wu , Qiliang Yuan X-Mailer: b4 0.13.0 An isolated cpuset partition already updates the HK_TYPE_DOMAIN housekeeping mask. Extend it to also update the kernel-noise masks (HK_TYPE_KERNEL_NOISE and HK_TYPE_MANAGED_IRQ) so that creating or destroying an isolated partition reconfigures the full set of housekeeping cpumasks. The sched domain mask is updated first because the workqueue flush and timer migration paths depend on it; the kernel-noise masks are updated afterwards via housekeeping_update_types(). housekeeping_update() and housekeeping_update_types() are called after dropping cpus_read_lock and cpuset_mutex, with only cpuset_top_mutex held for mutual exclusion. Co-developed-by: Qiliang Yuan Signed-off-by: Qiliang Yuan Signed-off-by: Jing Wu --- kernel/cgroup/cpuset.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 5c33ab20cc208..80f43a24d3c8a 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -1347,17 +1347,36 @@ static void cpuset_update_sd_hk_unlock(void) rebuild_sched_domains_locked(); if (update_housekeeping) { + static const unsigned long noise_types = + BIT(HK_TYPE_KERNEL_NOISE) | BIT(HK_TYPE_MANAGED_IRQ); + update_housekeeping = false; cpumask_copy(isolated_hk_cpus, isolated_cpus); + mutex_unlock(&cpuset_mutex); + cpus_read_unlock(); + /* * housekeeping_update() is now called without holding * cpus_read_lock and cpuset_mutex. Only cpuset_top_mutex * is still being held for mutual exclusion. */ - mutex_unlock(&cpuset_mutex); - cpus_read_unlock(); + + /* + * Update the sched domain mask first; it must succeed + * before the kernel-noise types because workqueue flush + * and timer migration depend on the sched domain mask. + */ WARN_ON_ONCE(housekeeping_update(isolated_hk_cpus)); + + /* + * Update the kernel-noise housekeeping masks + * (HK_TYPE_KERNEL_NOISE and HK_TYPE_MANAGED_IRQ). The tick, + * RCU and managed-interrupt state is reconfigured as the + * affected CPUs are cycled through the CPU hotplug machinery. + */ + WARN_ON_ONCE(housekeeping_update_types(noise_types, + isolated_hk_cpus)); mutex_unlock(&cpuset_top_mutex); } else { cpuset_full_unlock(); -- 2.43.0