Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp6165933rdb; Thu, 14 Dec 2023 09:58:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IEDVwoiFRsXjfzuFlRleOri9HDWiJXOB9wmQwmLQEeZPs1F+KBOgSyE0jjNpJM4lqQvMFMS X-Received: by 2002:a17:903:245:b0:1d0:9013:a139 with SMTP id j5-20020a170903024500b001d09013a139mr6296825plh.43.1702576698170; Thu, 14 Dec 2023 09:58:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702576698; cv=none; d=google.com; s=arc-20160816; b=NvNJlQHr7A/P/tElWCCM/f0xhSln9kiIVt61uSNe3BGE2okNOAqc5d2JAJLWkY9Ycm kIXVayGsvXmBQDJlMXOaQa0zLtVEVOBeeKV9hmacoIuVUCELiaVwiHTVwd2aOvzGL40l 5nAm+HavSvpViUr9ZrFG0h0h4A8G4/gLynTQA3fM3Pix3Px7lYLSf+StEy3V2uPR9iTY HOArraN/wB+bALBCUv1dGXS8PXFEJnTsY7CAr6HLal5OnTMq39CqJQJNQk1bbAEQTSXK 2rD0LmhAOo6TcQ7xbJ/XGF9dHG8aaWfM0xnBCXhoEehAoet1dcyjum+AFPV8PpRReyrN Tbuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yY5KuZVKWaXiPKW8THuGvJguIS1QJ2wAyKcO5bW1t1M=; fh=cRQgPUhj2bSQoUDQa7ya1xqbsb+mhE0qUl8c+aFhWso=; b=aSumw/qpuF/2ZhYJiVPOuGOOaP9+D6AUF0HIPnJOvTyMQzonZPNXLWHFlSaGVJJpo4 WUH4hP+nFgvNojYRoD77zoiEXVw/7Yq3e5XJ+7kH9tBv0P5s/I0RIUUSn3TONDH/9f2K EkB0Mml3XWEzbC3Jt0zsdhvN2mGV5mxbICzH4l1aLSDmqGVkuWs0Zf+JHGIpgPlOHS4F MVyr5BY1AFh1S19rfENMtwAX1gZKkTluBa0poYrX+RLygqvN1dTC+KyddivSZZDTZjUy Thfx9EgdcBQlWYYPK4BCb2ggmhxvs6RNw2fhS0TDeZPXMVGhhAf+4AkQlnQZYObOOihc 8VHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@inria.fr header.s=dc header.b=AAiE2rEg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=inria.fr Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id b12-20020a170902650c00b001cfe02fa89esi11566026plk.117.2023.12.14.09.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 09:58:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@inria.fr header.s=dc header.b=AAiE2rEg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=inria.fr Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id C37B180E070B; Thu, 14 Dec 2023 09:58:16 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235629AbjLNR6E (ORCPT + 99 others); Thu, 14 Dec 2023 12:58:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34270 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231817AbjLNR6D (ORCPT ); Thu, 14 Dec 2023 12:58:03 -0500 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2B78A6 for ; Thu, 14 Dec 2023 09:58:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yY5KuZVKWaXiPKW8THuGvJguIS1QJ2wAyKcO5bW1t1M=; b=AAiE2rEgrdU+tE6fwbJ917yjzfdxpcjx7sS4KIAtcpbj+E8enhGctNbk rKXaR9633eQVAFduks/72vLJfgB6bIMfAGaU31jmWXlF4Qusyj/bkzAIx YC7Bd/LxvzGjIoalBP8APur2oXQ1d77Xfme7J9O7vUGD0YpvE2XHO5Mo3 w=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=keisuke.nishimura@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.04,276,1695679200"; d="scan'208";a="142377319" Received: from dt-aponte.paris.inria.fr (HELO keisuke-XPS-13-7390.tailde312.ts.net) ([128.93.67.66]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Dec 2023 18:58:06 +0100 From: Keisuke Nishimura To: Ingo Molnar , Peter Zijlstra Cc: Abel Wu , Josh Don , Mel Gorman , Xunlei Pang , Dietmar Eggemann , Valentin Schneider , Julia Lawall , linux-kernel@vger.kernel.org, Keisuke Nishimura Subject: [PATCH 2/2] sched/fair: take into account scheduling domain in select_idle_core() Date: Thu, 14 Dec 2023 18:55:51 +0100 Message-Id: <20231214175551.629945-2-keisuke.nishimura@inria.fr> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231214175551.629945-1-keisuke.nishimura@inria.fr> References: <20231214175551.629945-1-keisuke.nishimura@inria.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 14 Dec 2023 09:58:16 -0800 (PST) When picking out a CPU on a task wakeup, select_idle_smt() has to take into account the scheduling domain where the function looks for the CPU. This is because cpusets and isolcpus can remove CPUs from the domain to isolate them from other SMT siblings. This change replaces the set of CPUs allowed to run the task from p->cpus_ptr by the intersection of p->cpus_ptr and sched_domain_span(sd) which is stored in the cpus argument provided by select_idle_cpu. Fixes: 9fe1f127b913 ("sched/fair: Merge select_idle_core/cpu()") Signed-off-by: Keisuke Nishimura Signed-off-by: Julia Lawall --- kernel/sched/fair.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 71306b48cf68..3b7d32632674 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7262,7 +7262,7 @@ static int select_idle_core(struct task_struct *p, int core, struct cpumask *cpu if (!available_idle_cpu(cpu)) { idle = false; if (*idle_cpu == -1) { - if (sched_idle_cpu(cpu) && cpumask_test_cpu(cpu, p->cpus_ptr)) { + if (sched_idle_cpu(cpu) && cpumask_test_cpu(cpu, cpus)) { *idle_cpu = cpu; break; } @@ -7270,7 +7270,7 @@ static int select_idle_core(struct task_struct *p, int core, struct cpumask *cpu } break; } - if (*idle_cpu == -1 && cpumask_test_cpu(cpu, p->cpus_ptr)) + if (*idle_cpu == -1 && cpumask_test_cpu(cpu, cpus)) *idle_cpu = cpu; } -- 2.34.1