From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AA003D3D11; Thu, 22 Jan 2026 11:36:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769081792; cv=none; b=tIOd3/N+QwjkrVBgbD080JJZxPXmpcZecXE+zK5YwmX/LCgLzvsFvrDyGxcPNQgSFONxv44Du1e4wXw2DrAR2fW+Vsa8l+mevbCmBATFPxlyagwy/LcFych6Yrr28Xp2CjVQxUQFGmCk7wX4RKNs/HOx2F6ghHy9ZQ2mY7D7mdc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769081792; c=relaxed/simple; bh=ENaX1Ni1MjEYqWK5DUAycRHraRvMcIc+oNSelx9/l2Y=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=VD1BNqB4pCqKFZoesgG6bjN3hlgpWukjuN9DzSv/nE8qiH3pODBBxjyHgC/dm71fDU2frsfnEGkWuaAxxpV+qIDw2XDQX+XSNrfIRy8B4RraCEjD6PS9qSrHjtETICbBGicyXC+gEvDj/ygasCtrd1DhtCwnG3dYK2ttQ/HqKJg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZDryn4r3; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZDryn4r3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A76CC116C6; Thu, 22 Jan 2026 11:36:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769081791; bh=ENaX1Ni1MjEYqWK5DUAycRHraRvMcIc+oNSelx9/l2Y=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ZDryn4r3pVEndSSCPyKyGmEaA5BTct8VAHmY8jYwQGX6bZIuzGBK2tyiehlMSViCM Ei7gUubm2NpO0vLH1gLLEG7shYisa/qu58z1kPKCeHT7psSLc0dFIUNS20igfaqR8y H0JYR5Y3GLo2UHCzTKrQTDQA5CIsBsQX04/nfiZiuS1HDLzqsOcDFUUSDSixFNi2cA bcka/tqaxHdr2hWnQ1CWDAu9Vo3BBVN03Rl8iRMbmoAtVSYCecBSZ7PNzldFeiHaHe bmQniStX0qxItibPa8e+b/txibvQDRMzP6YVhz2gBqk8YlXoX44FzT/wg3EmzCppge Qf8lkGFsAGPRA== Date: Thu, 22 Jan 2026 11:36:21 +0000 From: Will Deacon To: Frederic Weisbecker Cc: LKML , Michal =?iso-8859-1?Q?Koutn=FD?= , Andrew Morton , Bjorn Helgaas , Catalin Marinas , Chen Ridong , Danilo Krummrich , "David S . Miller" , Eric Dumazet , Gabriele Monaco , Greg Kroah-Hartman , Ingo Molnar , Jakub Kicinski , Jens Axboe , Johannes Weiner , Lai Jiangshan , Marco Crivellari , Michal Hocko , Muchun Song , Paolo Abeni , Peter Zijlstra , Phil Auld , "Rafael J . Wysocki" , Roman Gushchin , Shakeel Butt , Simon Horman , Tejun Heo , Thomas Gleixner , Vlastimil Babka , Waiman Long , cgroups@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, linux-mm@kvack.org, linux-pci@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 29/33] sched/arm64: Move fallback task cpumask to HK_TYPE_DOMAIN Message-ID: References: <20260101221359.22298-1-frederic@kernel.org> <20260101221359.22298-30-frederic@kernel.org> Precedence: bulk X-Mailing-List: cgroups@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Thu, Jan 22, 2026 at 12:29:17PM +0100, Frederic Weisbecker wrote: > Le Thu, Jan 22, 2026 at 09:56:29AM +0000, Will Deacon a écrit : > > On Wed, Jan 21, 2026 at 06:06:07PM +0100, Frederic Weisbecker wrote: > > > Le Tue, Jan 20, 2026 at 03:15:14PM +0000, Will Deacon a écrit : > > > > Hi Frederic, > > > > > > > > On Thu, Jan 01, 2026 at 11:13:54PM +0100, Frederic Weisbecker wrote: > > > > > When none of the allowed CPUs of a task are online, it gets migrated > > > > > to the fallback cpumask which is all the non nohz_full CPUs. > > > > > > > > > > However just like nohz_full CPUs, domain isolated CPUs don't want to be > > > > > disturbed by tasks that have lost their CPU affinities. > > > > > > > > > > And since nohz_full rely on domain isolation to work correctly, the > > > > > housekeeping mask of domain isolated CPUs should always be a superset of > > > > > the housekeeping mask of nohz_full CPUs (there can be CPUs that are > > > > > domain isolated but not nohz_full, OTOH there shouldn't be nohz_full > > > > > CPUs that are not domain isolated): > > > > > > > > > > HK_TYPE_DOMAIN | HK_TYPE_KERNEL_NOISE == HK_TYPE_DOMAIN > > > > > > > > > > Therefore use HK_TYPE_DOMAIN as the appropriate fallback target for > > > > > tasks and since this cpumask can be modified at runtime, make sure > > > > > that 32 bits support CPUs on ARM64 mismatched systems are not isolated > > > > > by cpusets. > > > > > > > > > > Signed-off-by: Frederic Weisbecker > > > > > Reviewed-by: Waiman Long > > > > > --- > > > > > arch/arm64/kernel/cpufeature.c | 18 +++++++++++++++--- > > > > > include/linux/cpu.h | 4 ++++ > > > > > kernel/cgroup/cpuset.c | 17 ++++++++++++++--- > > > > > 3 files changed, 33 insertions(+), 6 deletions(-) > > > > > > > > tbh, I'd also be fine just saying that isolation isn't reliable on these > > > > systems and then you don't need to add the extra arch hook. > > > > > > Hmm, I think I heard about nohz_full usage on arm64 but I'm not sure. > > > And I usually expect isolcpus or cpuset isolated partitions to be even > > > more broadly used, it's lighter isolation with less constraints. > > > > > > Anyway you're probably right that we could remove isolation support here > > > but I don't want to break any existing user. > > > > fwiw, I think it's only some Android markets using the mismatched 32-bit > > support and we're definitely not using nohz_full there. > > Now that removal becomes appealing. And what about isolcpus= / isolated cpuset > which only consist in scheduler domain isolation? Probably not used by android > either. > > Ok but is there a way to detect on early boot that the system has mismatched > 32 bits support? Because I need to fail nohz_full= and isolcpus= boot parameters > early on top of this information without waiting for secondary CPUs boot. Honestly, I'm not sure I'd bother trying to be smart here. Even if the system has enabled support for mismatched 32-bit CPUs, things should still work properly with nohz_full/isolcpus if all the tasks are 64-bit, right? In which case, I'd just document whatever weird behaviour you get if somebody throws 32-bit tasks into the mix. Adding hooks to the generic code for this use-case just seems like a waste, as they're not going to be used in practice and it increases the maintenance burden. Will