Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3724626pxj; Mon, 24 May 2021 13:23:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwtgZDUzGZSo8w95Mi1KWVYNysaZEBGLkxnDU8TV2vsN46vkrb2ZNctOh041ETa+iluux92 X-Received: by 2002:a05:6602:5cd:: with SMTP id w13mr12224758iox.185.1621887784594; Mon, 24 May 2021 13:23:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621887784; cv=none; d=google.com; s=arc-20160816; b=AGveYs6slY3qGSDQVgqSUAhxgLCiLSwJD6Fph9Y0XH5Y2ChJORCm8ZbHnWYTz+1dVW 16dwexM6qUyce7s2SWv6O5S6I9fo720HzPzn2hSmcZfG/5eETUJHjyyWbAKOStJY5nlf po1g8BlAGff+4CJGSIVJJPIALrJo/x2K1VUZgqij0vu/Mk1h0g8AfYcmnYHKEqJMXaKr RduGhwxyc2qKQwVvjxocSScXoZC/JpYL2bGlBVmVS251DJy0JGVKlQANm2FQaFpNiVA+ P92G82suwcTyL4lzZTsko+waH6v8cbiQHPA5FN1u8Esa64hqZLdAGnOCGIXXqwrJgMuj 2Q/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=3g4e6WA5o3PakdFJPXjtfe30X+VNEwTrfneb73uFWRc=; b=yDO+T2Qb0c7hALKE528+cmuVN/vth/iSyX8WhlU7Rcgr7zVWVenKIKJEXKlUZL55ea /vvIdrJkmuJCYv3LT0nmTTd0/pmGlJMLrmH/X98mg/TLhJN7VZRy6epkhbTahDsiKnTb F4Kx4e839K35jJM3EkApGEzlhn5fcG+0B4aylHE3+jDjFWcArGPcsLtWkgnBiKCMZbei h2Sk+0cgd3sY1W+m6RlmtKcxDlQ9jjbp2DtF+6BIqzGpE3auhv9JVsy9BKIx+c3iZ+X2 rXsAxdP5szOhQrtt7LA5WI/msRHKFA0F/5/qw70q9X7muwHU6LymMku2p1K0WBMP1Lb0 r1mA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uwc2iVTL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f17si11042496ilc.44.2021.05.24.13.22.51; Mon, 24 May 2021 13:23:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uwc2iVTL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233221AbhEXUXH (ORCPT + 99 others); Mon, 24 May 2021 16:23:07 -0400 Received: from mail.kernel.org ([198.145.29.99]:48806 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233009AbhEXUXG (ORCPT ); Mon, 24 May 2021 16:23:06 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 51BC7611B0; Mon, 24 May 2021 20:21:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621887698; bh=Ymn11eEpKHcjX1SZqD9F7FTWGqIxUhQLp7UIF/O1094=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=uwc2iVTLCnyT6n6HdKA3DnNb0Oyzbg7bsovOWk7vRoYJnde/7zApoz4TcXvLOtxDH ir+o6/Ou0BnEBnNsNHiaXNZvF+t0HjkaDk7sChT4aEorfLk/TYebrA0ldc8dmb6g1i Tb9jHrVMBMUZU0ukEO5+uIJV/+iYqntISmCxtIw73ehiHbVYDxVXQHh0fgeXD9qVNG ePf/21Kvy47yF0MF2u+ACqWvFXgBmP/SsglHGyIWv1pv7FgNChLCxIsXQbgDIMgZ3F cfuZOqnnCCu9mhcJh/KmRfd2XTO8FRU7o5/UUFqKT/xIDtRYY8rzCpjBQZNFThqhH9 Sh5MHAlmLWqWA== Date: Mon, 24 May 2021 21:21:32 +0100 From: Will Deacon To: Qais Yousef Cc: linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Catalin Marinas , Marc Zyngier , Greg Kroah-Hartman , Peter Zijlstra , Morten Rasmussen , Suren Baghdasaryan , Quentin Perret , Tejun Heo , Li Zefan , Johannes Weiner , Ingo Molnar , Juri Lelli , Vincent Guittot , "Rafael J. Wysocki" , kernel-team@android.com Subject: Re: [PATCH v6 07/21] cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1 Message-ID: <20210524202131.GB15545@willie-the-truck> References: <20210518094725.7701-1-will@kernel.org> <20210518094725.7701-8-will@kernel.org> <20210521173934.pjcv37j63odtsrp6@e107158-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210521173934.pjcv37j63odtsrp6@e107158-lin.cambridge.arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Qais, On Fri, May 21, 2021 at 06:39:34PM +0100, Qais Yousef wrote: > On 05/18/21 10:47, Will Deacon wrote: > > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c > > index a945504c0ae7..8c799260a4a2 100644 > > --- a/kernel/cgroup/cpuset.c > > +++ b/kernel/cgroup/cpuset.c > > @@ -3322,9 +3322,17 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) > > > > void cpuset_cpus_allowed_fallback(struct task_struct *tsk) > > { > > + const struct cpumask *cs_mask; > > + const struct cpumask *possible_mask = task_cpu_possible_mask(tsk); > > + > > rcu_read_lock(); > > - do_set_cpus_allowed(tsk, is_in_v2_mode() ? > > - task_cs(tsk)->cpus_allowed : cpu_possible_mask); > > + cs_mask = task_cs(tsk)->cpus_allowed; > > + > > + if (!is_in_v2_mode() || !cpumask_subset(cs_mask, possible_mask)) > > + goto unlock; /* select_fallback_rq will try harder */ > > + > > + do_set_cpus_allowed(tsk, cs_mask); > > Shouldn't we take the intersection with possible_mask like we discussed before? > > https://lore.kernel.org/lkml/20201217145954.GA17881@willie-the-truck/ Yes, and that's what the '!cpumask_subset()' check is doing above. Either we use the valid subset of the cpuset mask (which is the intersection with the possible mask) or we bail if that set is empty. Will