Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1241901pxu; Thu, 17 Dec 2020 05:46:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJyUYPvtQ7/RDuSwIqL53nynL0hpglw2YQxJrHZfd1YyFHSHpT2UvObbkruirCsVf7iKDb9A X-Received: by 2002:a17:906:a218:: with SMTP id r24mr34272301ejy.372.1608212778539; Thu, 17 Dec 2020 05:46:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608212778; cv=none; d=google.com; s=arc-20160816; b=WA1V7jDCc4prtxYQdSKHk9fB5osxzPtLn8zsmYHVxIDxrW1ntF7ePunS+MLjNJBXak CwH1P6RFQTGRw3SIQcBQlmMHPIAehUCFOwGMfXGIIB7fSnYkDGo5sW4XVes+EOPkaoKx JrcgKl6pjs38KnTl2EwOnkUwlUmO8kWBqRTU0h3YyGkIGunIww1BgZAHwv36ax/X5DNm xRfb1MQdB0+tJggUUTQnL/ChCRhjhUe0PYTxAz/xR2BGh2+ags/700emmT5gpvTyudI9 Nrz0NfVXxqEOBoNxZ/EB64zOGCihPKOqDMZfwtfa2HSRNS7Uj1zTpyrFphWgbYFpaxv1 2P2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=PSUgMjGGYycqOx3vyY6FuXOiRRnqiDNa6Pk1c4l1KWI=; b=DGu3fy8q0W61acwrEvDOix5L6GLgTWhHBIXz5PuFCf61VMEKCQhhVD4FaeQBu6FxFr UoAhQ4PZE3iqqtqD6JgukvJBRqlY0SOpyj2fGygD9T3zMkCj7atvBbx5rSaeQvC3I+CY 9YBNd5IuEApqQa9i5bgSqLZAFSwTOH6gqxKPa34VHFeRcsbDnABmEDKRz5u+LTG/MioP HVqlPzPeccNn7203DA8jv8aS7IgE6ioW3bT5rPfRN9dT1tHALIHOc1GCQVjUrsuS222P UQ/fPqLwQiY53hBPb3037fpe3DLtMCBFsvsMSe/aXpVythGVQXBOBDps1C7QDFZwVTaf QeEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=merlin.20170209 header.b=YxG+3RRD; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t14si1023609edw.119.2020.12.17.05.45.55; Thu, 17 Dec 2020 05:46:18 -0800 (PST) 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=@infradead.org header.s=merlin.20170209 header.b=YxG+3RRD; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728191AbgLQNo6 (ORCPT + 99 others); Thu, 17 Dec 2020 08:44:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727743AbgLQNo6 (ORCPT ); Thu, 17 Dec 2020 08:44:58 -0500 Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB7BFC061794; Thu, 17 Dec 2020 05:44:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=PSUgMjGGYycqOx3vyY6FuXOiRRnqiDNa6Pk1c4l1KWI=; b=YxG+3RRD1MYgV+RDCSgEC6ciGp K2BBSpQ1GABHUDDX2KSxRtpkGa6Lniq/029a1K5qe7aqoKSUiqVQIrDMFHeex9Eb+VWl8ZFkhq3Rc dBfhRscbF9GpLyjbTHz77NAzY+gyjYLdIFl6ZkZ9wJB83BKVD7rPsyl2xfYStxGUNdcGRtHeav75K BqSHyevOOZEyv15Eu7NJxkO2RlhyfvJmzCTJctiH3M8IfNhvEM9yQxbcafKqjsr2P1UMjbde44l/O SCzqMIlGW3qqA25m6oZDYYCkgbxFPOQrhTFFSEi/HG4OczMxlkavyoKl7+X5hdzdhwhOJRAOi9Uxl mgVwGHEA==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by merlin.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1kptZb-0002Xs-Og; Thu, 17 Dec 2020 13:44:04 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id BC09F305C11; Thu, 17 Dec 2020 14:44:01 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id AA07F201272D1; Thu, 17 Dec 2020 14:44:01 +0100 (CET) Date: Thu, 17 Dec 2020 14:44:01 +0100 From: Peter Zijlstra To: Qais Yousef Cc: Will Deacon , linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Catalin Marinas , Marc Zyngier , Greg Kroah-Hartman , Morten Rasmussen , Suren Baghdasaryan , Quentin Perret , Tejun Heo , Li Zefan , Johannes Weiner , Ingo Molnar , Juri Lelli , Vincent Guittot , kernel-team@android.com Subject: Re: [PATCH v5 07/15] cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1 Message-ID: <20201217134401.GY3040@hirez.programming.kicks-ass.net> References: <20201208132835.6151-1-will@kernel.org> <20201208132835.6151-8-will@kernel.org> <20201217121552.ds7g2icvqp5nvtha@e107158-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201217121552.ds7g2icvqp5nvtha@e107158-lin.cambridge.arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 17, 2020 at 12:15:52PM +0000, Qais Yousef wrote: > On 12/08/20 13:28, Will Deacon wrote: > > If the scheduler cannot find an allowed CPU for a task, > > cpuset_cpus_allowed_fallback() will widen the affinity to cpu_possible_mask > > if cgroup v1 is in use. > > > > In preparation for allowing architectures to provide their own fallback > > mask, just return early if we're not using cgroup v2 and allow > > select_fallback_rq() to figure out the mask by itself. > > > > Cc: Li Zefan > > Cc: Tejun Heo > > Cc: Johannes Weiner > > Reviewed-by: Quentin Perret > > Signed-off-by: Will Deacon > > --- > > kernel/cgroup/cpuset.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c > > index 57b5b5d0a5fd..e970737c3ed2 100644 > > --- a/kernel/cgroup/cpuset.c > > +++ b/kernel/cgroup/cpuset.c > > @@ -3299,9 +3299,11 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) > > > > void cpuset_cpus_allowed_fallback(struct task_struct *tsk) > > { > > + if (!is_in_v2_mode()) > > + return; /* select_fallback_rq will try harder */ > > + > > rcu_read_lock(); > > - do_set_cpus_allowed(tsk, is_in_v2_mode() ? > > - task_cs(tsk)->cpus_allowed : cpu_possible_mask); > > + do_set_cpus_allowed(tsk, task_cs(tsk)->cpus_allowed); > > Why is it safe to return that for cpuset v2? v1 Because in that case it does cpu_possible_mask, which, if you look at select_fallback_rq(), is exactly what happens when cpuset 'fails' to find a candidate. Or at least, that's how I read the patch.