From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD6DDC433B4 for ; Tue, 18 May 2021 09:57:40 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 406D66024A for ; Tue, 18 May 2021 09:57:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 406D66024A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=RxLgwrfDN0aBzWnWcuZ7b4f7XW30PYrf/VHckiELBfI=; b=bFhLlODlip6oIyRsgC6gDlv2Q n9P2kQ74piQvE/873P+WMBo7anCnnB6SFDZtZf7J3+2+SO5anVN/yZ25vdQRph77+ei2w+4MAwVB2 YTLu8EUbQ5diLypqh/sY1HwxHcLBdE5dk69yVTAyHZxqsvEHpDRZH3511uQGQLze4z3jKrQnEDTGA Ih+qSm6LFySz4b8JP9BCpboi0mah4jqrqkZhPCQ8LrXjKGoQsOoGxjHjlHnhmRd8f6AOcyjD9Vpxn H4C02ETcDXFkr9XmAp2cjyz8VTkkme9KmcDNSSkDQfECjfBcjsaEo4Y5Mqdm+v2ipDEEkONk2sof2 eH58JSOHQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1liwRs-000FRt-6d; Tue, 18 May 2021 09:55:36 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1liwKb-000DtG-Hx for linux-arm-kernel@desiato.infradead.org; Tue, 18 May 2021 09:48:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=8pfE3GGF8GP/H9dVMEMQaTGttX4ip0gEojsKCJpvGoU=; b=J+6qOgR1xA8tHqTTJHA4qZpL4L Tzcv+c9mVlTe/lRNQofloKiPj5LbFAeJhKTncYoigLJXDkPdP+C/F3LlyIDI9Bl8rIKlm30ZD2sDR IC+J3qqNZR87Jqe9VYfqE4udaAn6Upf3Vfj8AmtFUVPtWRdyXxsTU5Nj7gJPj8nRlNBhWwhd+zSPS CKIzjhcvIbtmW51aUIuJAhtLB07veFw0xuvWH4LKiFz2HNDuHLQKBJxXzL0Pw6fTogLzBjvLs/1zC YmeG3KLtMJFRYFW0Ipf0U03Mj1BgNNhh7ryr+eMEg43LV+KDCpEye+cC8xAnggP4doXeNLF3ZJrsx yCM5cPAQ==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1liwKZ-00EWfH-1f for linux-arm-kernel@lists.infradead.org; Tue, 18 May 2021 09:48:04 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 987FB613CA; Tue, 18 May 2021 09:47:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621331282; bh=NvwSaFd4j1U9x7MuiRuhuzS0QYyzwo36gVpUtBca09k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PrnyXh5dDh1IBvExWmit09/FbBGiBbuPKeY+VMUJw8xXrf5z1gD6Mq5/GTrEf2e53 Ss1XprfORyl2NnRvt2oGg1RpmHMV4Sjwk3oZA/1j83FYtPvuXxNZlmJhlMNbUSwpwP kE14LKvtyOjuJLTLLTA6KK+VT/JmdQbX/Ul4WJO7mqzTR43GDkfe+CAuBWI/8jbR6U zQsSsD5Ykng8/nOF2AZ9uIo1azDZZUcBsMqZ9GCQ6MQGB9j6WjwXcFyHtp4pO8b6Z6 LmF2ljTd4DQIiYNwlltUyhN9v/4/J+y+n+oKeZzyXYC9X8mdtWS3U1Wavdlm3prYkT 7ArvJUG2dnRDg== From: Will Deacon To: linux-arm-kernel@lists.infradead.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Will Deacon , Catalin Marinas , Marc Zyngier , Greg Kroah-Hartman , Peter Zijlstra , Morten Rasmussen , Qais Yousef , Suren Baghdasaryan , Quentin Perret , Tejun Heo , Li Zefan , Johannes Weiner , Ingo Molnar , Juri Lelli , Vincent Guittot , "Rafael J. Wysocki" , kernel-team@android.com Subject: [PATCH v6 07/21] cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1 Date: Tue, 18 May 2021 10:47:11 +0100 Message-Id: <20210518094725.7701-8-will@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210518094725.7701-1-will@kernel.org> References: <20210518094725.7701-1-will@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210518_024803_126590_21376FE8 X-CRM114-Status: GOOD ( 13.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 either using cgroup v1 or we're using cgroup v2 with a mask that contains invalid CPUs. This will 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 --- include/linux/cpuset.h | 1 + kernel/cgroup/cpuset.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index 04c20de66afc..ed6ec677dd6b 100644 --- a/include/linux/cpuset.h +++ b/include/linux/cpuset.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #ifdef CONFIG_CPUSETS 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); +unlock: rcu_read_unlock(); /* -- 2.31.1.751.gd2f1c929bd-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel