From nobody Wed Dec 17 19:53:53 2025 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 293A12046B2 for ; Mon, 16 Dec 2024 12:24:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734351865; cv=none; b=WkH59q2RN9VUwWnkE3fw0JVMU9F18XhV+EfdSvzsanoscE3Z9ws5JzsBrIwLPltgx5xO0C7R+hnc9Vc0/ZOeHytkAUq71rMt0hCDjj+MJqoPJSTPsV+k4I90nlrPfrw0njAJYsYLDVCUWzHVpo1nF+Q0vpVsG7htRGC9U3RMtcc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734351865; c=relaxed/simple; bh=7uodcHImsvmbWdzwGJxC39y0Z4LO/fg82j5/Ac+9irA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Xr2gbXOIFgxUqqadR8WukM9ZvKqnFO2uBd5DmMovkXp9SIQ7tCOKoKPn0ZvLKzfPW34oAA3j8Q86Nj2tgG6bhAEzcots6fkNvsycBmj+gCwelY51A95hLComPJ/xiBF/jPmIuwF08w8/xpiOuDL/RRWtT5iPTF7exDcdna8InIA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=C0zf8WuF; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="C0zf8WuF" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2162c0f6a39so44053955ad.0 for ; Mon, 16 Dec 2024 04:24:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1734351863; x=1734956663; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=phtcloGBPxbo3bGe+fbvNysMDOLgdZmP6FtnIiSbizc=; b=C0zf8WuFXWYP5Lhxo0p+CcUPiQeaQ/XKpXs8vyT6xukH8UWpadVMh1zMWCzH/J/l+c SAJlZQiAdEupzhVKZwpAR932xbCYew6E29itLck5e1r0A58EGXHIkDWqFfDND4ymlXZL LqpI3haltAQF/du2Yl/6kuHv1wfvozs38CcH9JTL6LGcUQJIi9K1mVHnpXUN9z10y7uO 7AlguRR/tb5GlwsxwBapo3lK5IHyexELdsBsdP18wOGuK9lGg7Pj3loyqj6ijvTUMpR2 Y205v2vBXnOLZreVgIu7DzCN3/P1hjfmXGrcoUNO40z3zMq/UdSgsr7jYIqEYmkyeFxm GXPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734351863; x=1734956663; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=phtcloGBPxbo3bGe+fbvNysMDOLgdZmP6FtnIiSbizc=; b=CWAkabwTb/TsKbpTN2tdimLxDP4FTw8Gw4WlTo0tPMYhlr1ixMdBax5fOMrt7NFbPD 96jwGF96BkyC/I//yCc6hk859xQnNWLG+xNQcVDEVuQBRtl+Y+N9TDeYCxvoAGV1XmzL vqMNEf8FznGEH7ep+9p2f6hzQUWVEcFk4o6xmCn2oAExLrVpNUIOLdxKCgBTWbytDMXV 0L6MU+xwY4edNE2wl/nhFdpSRxxEAGR2Gpg6ALYfASulUtt/4MaFQhxyhxiSuG+C/7o/ 46d0V2CP/dT9KkFwM3Oohhh2IA2piS7plAPkYKW0OEvwJt4MXsC5ahg+GlRodekERZQV S67g== X-Forwarded-Encrypted: i=1; AJvYcCWNN6K6/8Y8/jcltJVMbOA//70H6wdpaAi0xvi9PM/f824YVuWvT/FllRJRYmIitOF55ZmTlQzpglc17U4=@vger.kernel.org X-Gm-Message-State: AOJu0YyAFpKglGtHayTyJwWP03jIohNriVU27p+H1aOPGx+j4M9cVhA0 5+CTj/RILIqJKuMCiZ4gRoA9uIaw7Lw7e4jr1DtrlFbWHuM2PEgAAozYIVWS2yQ= X-Gm-Gg: ASbGncscfIooRxV76Ic3+KDFi7gqfNyAS2EbL1L974nqjIFQq6qbZu0Za0yUb5q0s7U hDQH6ZTBzVjv0mwpA+9PKfyTHzCDLY1jo99qiA3kMnoplQCMLwKTVn5cHucTFCgsVUH1zfs2QFB vs8NtLaaQGo0I9a31zhdSEBDN9k14bVmtOoe2o2z2MtS4vWNka3zP8rbIem59fTG4ezWIuYqkPP MYUBSoQ/ZHCYCPuwlUBWqNX70uuneJQZzn8Y9x+bZNaP6TuviOq4mM8C99kswiNEcYpQOaGE1tg X-Google-Smtp-Source: AGHT+IFlbd/fyubQoVxVPUqZLEyg8lZJk176wd7Gvn9IXFj09lK1ksv+/9kyQeDjNjF0XPDerLMtqw== X-Received: by 2002:a17:903:184:b0:216:59f1:c7d9 with SMTP id d9443c01a7336-218941e89efmr159696435ad.19.1734351863429; Mon, 16 Dec 2024 04:24:23 -0800 (PST) Received: from n37-019-243.byted.org ([180.184.51.134]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1e6d0e4sm41501555ad.261.2024.12.16.04.24.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2024 04:24:23 -0800 (PST) From: Chuyi Zhou To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com Cc: chengming.zhou@linux.dev, linux-kernel@vger.kernel.org, Chuyi Zhou Subject: [PATCH 1/3] sched/fair: Remove unused task_numa_migrate return value Date: Mon, 16 Dec 2024 20:23:55 +0800 Message-Id: <20241216122357.1276382-2-zhouchuyi@bytedance.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20241216122357.1276382-1-zhouchuyi@bytedance.com> References: <20241216122357.1276382-1-zhouchuyi@bytedance.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The return value of task_numa_migrate is unused, remove it. Signed-off-by: Chuyi Zhou Reviewed-by: K Prateek Nayak --- kernel/sched/fair.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index d5127d9beaea..f544012b9320 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2486,7 +2486,7 @@ static void task_numa_find_cpu(struct task_numa_env *= env, } } =20 -static int task_numa_migrate(struct task_struct *p) +static void task_numa_migrate(struct task_struct *p) { struct task_numa_env env =3D { .p =3D p, @@ -2531,7 +2531,7 @@ static int task_numa_migrate(struct task_struct *p) */ if (unlikely(!sd)) { sched_setnuma(p, task_node(p)); - return -EINVAL; + return; } =20 env.dst_nid =3D p->numa_preferred_nid; @@ -2600,7 +2600,7 @@ static int task_numa_migrate(struct task_struct *p) /* No better CPU than the current one was found. */ if (env.best_cpu =3D=3D -1) { trace_sched_stick_numa(p, env.src_cpu, NULL, -1); - return -EAGAIN; + return; } =20 best_rq =3D cpu_rq(env.best_cpu); @@ -2609,7 +2609,7 @@ static int task_numa_migrate(struct task_struct *p) WRITE_ONCE(best_rq->numa_migrate_on, 0); if (ret !=3D 0) trace_sched_stick_numa(p, env.src_cpu, NULL, env.best_cpu); - return ret; + return; } =20 ret =3D migrate_swap(p, env.best_task, env.best_cpu, env.src_cpu); @@ -2618,7 +2618,6 @@ static int task_numa_migrate(struct task_struct *p) if (ret !=3D 0) trace_sched_stick_numa(p, env.src_cpu, env.best_task, env.best_cpu); put_task_struct(env.best_task); - return ret; } =20 /* Attempt to migrate a task to a CPU on the preferred node. */ --=20 2.20.1 From nobody Wed Dec 17 19:53:53 2025 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B018204F98 for ; Mon, 16 Dec 2024 12:24:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734351872; cv=none; b=nD083/BYcBNBgNU3JOUk3t7/byxw+XEe6azwknSbGhJz/M2XZfNIlEolAHUUWXq50kwcLXawjfWJ6d7CL+9x8h/AWEFEW35NE1KDZ2Hh1M9Wlh43brRoX2QcPJoZGieu37q2V1D7aSgdLCRG+UToHQhNnYLOfSxYs2uon6xGjzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734351872; c=relaxed/simple; bh=SuISuTxchex9RJodo04tat69zEAGe+ko1/0ZQdMXDUU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eR8IR0npGkHx3EQzTMFOldZtmbvAFnm46fZio1xfE4mbzfvOkmuXoEJ/RP0TrGP7keIx5hZmXt+obUGX0TuDgCX9PC2WKmc9iH0mZf5bCgq+IKn5AriJOG+yhG0a/V0qyh1FyLi3/dUCel+o+do8eQ6/ZVigVkx2SRjwWmBhD/M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=IlMQoNd0; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="IlMQoNd0" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2166022c5caso30240795ad.2 for ; Mon, 16 Dec 2024 04:24:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1734351870; x=1734956670; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KKG7eYUurdAiRXTeQw3+Dl2PfUcHaffYGwgJSL+ktjo=; b=IlMQoNd0oIViCA0Uy0CSdSnPhHYpuXD5lAlF+w19R+7Hg7tsVxE3yBrgLM0/TdkQUV jOPnuIjNntEDpypEgaGwR2f2srR+Bss8HD9/UPg05IF2OFmb5mqlgECyGiboRwXWuEIx t6tW5For/cJiVtrKfSvOXn+klCnym+yUQw9i7m3mSOgiSpDjTNEe/DV6motoStyVAA/k WfjhDUVo3xzSF4U5hz+5E5Ui0/+43xUi1fBoYbo6puHrJzUr8+3R/gtQU8BAZIgmuJIY jrh/Gw4jzcKtWBFbzYpwzjOnYeqjekKxcdvCwfXVlSIVPqPT+dLBmSFE0IlRD3GDtxg2 2BzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734351870; x=1734956670; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KKG7eYUurdAiRXTeQw3+Dl2PfUcHaffYGwgJSL+ktjo=; b=ixFaEz3F4uNkrwR1cP1NInxyg8eV3SGa9JNPSOnRT4wYCrnN7BSzEy9fwTYZ5UE38/ fW8H5lmeVkOGJBw9rQZUztSzeCYZl3EthwuYmMR5/YLRzlQzx+kk91xqE2GXK/4tjwCn O/MZG9cLhcR3AgHAs2oOGaNVt2NbQXerAuErWABsx96sdzMTQPMvM8go2zxddVtIpAai dJ02D7C3yZt5EPVBPd2T96QuLaJ2IwtAxEn9FStwqZx0QP+Kk11uIGdRd+MbeZSfdIME t6jhqgQp0Rcy4fJjaeb6ykunlazCaQLQvpV0GfTmXOAFTLkhbmL2mtUoQtJnRQqiHnUk 3MmQ== X-Forwarded-Encrypted: i=1; AJvYcCUpFll6J1SjR4oqamB07XhZW71jQ5d4HJxSKrAQrl1ax0mIWb6gKB3Xy7NupL/8yryV2/cDtLYjdZzdJSI=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+wMmKnmxEEVmFHRs5rgZD3G+ciQ2ePwbSraJqJ2/m1cJHCxif tgFp7A1mdOGDnpJK0vbrJUSO1iOQ0FfY32ZaDCnF+fQJQFqxZ+/cwOn/B/HmfR4= X-Gm-Gg: ASbGncspYHy9VWxjvKVjcZkzeYSDiWohmcJMRYilVEe1xao1VdwVBlxhEzu+A3gZaim Uzwn3nRAW4NDv3p4oTEU1vV3I7qPyV/HPHNul+RnQJR4YIXiURZO1gZ0cws+ZZmWcJGAx23IhR/ 4SZAyQrfzoPKTa1dsTqSpYYY3Cpi5T4Abz9RcyTSC9/qUe+S+AI+xnWovFwok7/Y/nS0SQWOQWG 31Hmacrb4LEUlvd33vCxh4S4OhquAjDyLi0wqjfd/IUQW/Fqjf5/bCl6ALgUnckHKN0AI6TMQwm X-Google-Smtp-Source: AGHT+IFdWgO4OoX0eAlDH9oyL7ndVAkbnEiwV8QelViM2oYlc/vfXIYkgOFTErhlEGsbODdVMKjcjg== X-Received: by 2002:a17:902:d550:b0:215:b5c6:9ed3 with SMTP id d9443c01a7336-21892997b2fmr200021365ad.12.1734351870354; Mon, 16 Dec 2024 04:24:30 -0800 (PST) Received: from n37-019-243.byted.org ([180.184.51.134]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1e6d0e4sm41501555ad.261.2024.12.16.04.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2024 04:24:30 -0800 (PST) From: Chuyi Zhou To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com Cc: chengming.zhou@linux.dev, linux-kernel@vger.kernel.org, Chuyi Zhou Subject: [PATCH 2/3] sched/fair: Ignore isolated cpus in update_numa_stat Date: Mon, 16 Dec 2024 20:23:56 +0800 Message-Id: <20241216122357.1276382-3-zhouchuyi@bytedance.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20241216122357.1276382-1-zhouchuyi@bytedance.com> References: <20241216122357.1276382-1-zhouchuyi@bytedance.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now update_numa_stats() iterates each cpu in a node to gather load information for the node and attempts to find the idle cpu as a candidate best_cpu within the node. In update_numa_stats() we should take into account the scheduling domain. This is because the "isolcpus" kernel command line option and cpuset iso- late partitions can remove CPUs from load balance. Similar to task wakeup and periodic load balancing, we should not involve isolated CPUs in NUMA balancing. When gathering load information for nodes, we need to ignore the load of isolated CPUs. This change also avoids selecting an isolated CPU as the idle_cpu. Signed-off-by: Chuyi Zhou --- kernel/sched/fair.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index f544012b9320..a0139659fe7a 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2125,6 +2125,11 @@ static void update_numa_stats(struct task_numa_env *= env, for_each_cpu(cpu, cpumask_of_node(nid)) { struct rq *rq =3D cpu_rq(cpu); =20 + /* skip isolated cpus' load */ + if (!rcu_dereference(rq->sd)) + continue; + + ns->weight++; ns->load +=3D cpu_load(rq); ns->runnable +=3D cpu_runnable(rq); ns->util +=3D cpu_util_cfs(cpu); @@ -2144,8 +2149,6 @@ static void update_numa_stats(struct task_numa_env *e= nv, } rcu_read_unlock(); =20 - ns->weight =3D cpumask_weight(cpumask_of_node(nid)); - ns->node_type =3D numa_classify(env->imbalance_pct, ns); =20 if (idle_core >=3D 0) --=20 2.20.1 From nobody Wed Dec 17 19:53:53 2025 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC518204F98 for ; Mon, 16 Dec 2024 12:24:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734351878; cv=none; b=ZJtZySHjaHR5LqhC4rSe9LIqMiM2DJ/EvXH9SDWgIaN1glnx734vD73nNitUCwo87zXpU+cnCPTt8dd+n7twJNF18FDehugDISMgonqGIrnTZlj7P7xFE8bJD796P7r1E9FcDZNBCkqQGjJKXMoLEkY/oPq2xFJHdaCsgtXEUlg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734351878; c=relaxed/simple; bh=04lNmsNySnVFo9f3O4o4cKfbKTj9UhtSwAYs8oiNvOM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qdXmm7XYDoIgu7EtZROWoiN5ZVrsKZdOylZbLxKxKNR4l9Lbtl3v6xM7ddPLSy6g9a3Ai6gjSKah/bYfPn2ezl/X/kihOtWAl1Mfk/l6yj25JF42LqS3UFuaIds+m9DKL9XuNVWhwdHnGcA8e2xU2duXswnrAo+k+r5hwRvGJbY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=D10R068g; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="D10R068g" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-21619108a6bso29043775ad.3 for ; Mon, 16 Dec 2024 04:24:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1734351876; x=1734956676; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tUMl/jt9UeNbHuZ/o30GHqr3MzCzR59KrfQ73K3Jzow=; b=D10R068gv7RaeELxZORqHJgaZ7fJ/PAZqRgOR5rgGlDRDPgt6iY+03hvyb0BoWxe5V /goTQ9fdoABtcH0TPVUMc68i4IqISZhkE54BpRbVW4oYsXL+nAG8kcO9+m8xT/Xr8Vp5 tuoQI98k0k95tNC9J0UWUQLIYIEIwkUtj/qWEBiMt3rYQ53ivBW1hFIzKM0XZ1pMq97J vUUEqenHYUPXSa4GNVCMmUVJ7pMbpcLZDIaWtDW0pIgDUC3fxvLAuehHbkQcuN9XTytY d4Fd0FjFpuUvrriBFVx+iR9B7yPJZzcVuaK+6YxKJimy9Otw3EnDQYutDBkah8FsTZlo QRxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734351876; x=1734956676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tUMl/jt9UeNbHuZ/o30GHqr3MzCzR59KrfQ73K3Jzow=; b=eZ4yMi7NEvLfdHEN+hloydzeOafYw021zo+XZw0wIX5EO8KBoJDeufd10WJOQp8Yp3 1ja5ug+0xUQP1Aa+ofkhuUaLZKHlreDAbjyL2H3ZtPUwjUU6J/QzbW8Ov2uxkwnASLu/ USNjXV5sxoMLdUaNzL7ybOViar4OqUKWX21gez2BP0XyEgs89DvG991Ag5DeTrrw0C4D w6JgH2u3pqwdFkta7H+wC43zHzB9Y9/yGgFufrBitsE/VVXZRcImWjvzNeKKCGR7PJEm PYgLTqKLrHe9e6nm9USdgMO0nBD8xuO/l6R0NXdtrDK9xJwSBg3n3ZObyyMST9UBQzdX db+Q== X-Forwarded-Encrypted: i=1; AJvYcCVPjsJWMuq0OPDdqoolQfTSTH+P6UrLxmMiKgelWphFL5kIzR1+ukqvcFV472SzcljifR/HYQb4fHxyrU0=@vger.kernel.org X-Gm-Message-State: AOJu0YwI86tT50ATTGwggbqRSa23mG3VKGmF8poKBNLyRDDRV4RVZt1k kk+tbGZ7lvZOlp5aa5AEvnw4Zd8mzSdNQa400+Gr+25nT/rZvIUbBs/KV7rz2ac= X-Gm-Gg: ASbGncsSxNLspTxbEhPxYiN1gE93UCPXFx/1E5qk0bgyhVXl8YjIfEyPWJuuvTHR2Rj XeNcjQVNefB6G6bPJPgVpSX8C1gszWtnY2m7p6RpgYaeo8om2RSscnu0lLw09l4aFwnAvZRmOIi gJ9gqtzrrzQlcPZIBmmvH4azFmVzwqUv6Q5DQeHbKQSWdnJ4nGEtdpI0JBa7MXXn5VHw4sppl6l fGrHeJ0rsQLH4qD6zlm/JAQRhYfENRtUNMJmzuFfMz5kD8HbvMPw3AXXz+LjfxvDboYgERe+gtN X-Google-Smtp-Source: AGHT+IGrGYtkFHnh0/1zDqJPaBCc+RrmUHzU5l6zwacst6iIHDvQtru++yFv6KVXYyXl8wycolmHUA== X-Received: by 2002:a17:902:ebce:b0:215:9d29:b440 with SMTP id d9443c01a7336-218929a2156mr160268035ad.17.1734351876254; Mon, 16 Dec 2024 04:24:36 -0800 (PST) Received: from n37-019-243.byted.org ([180.184.51.134]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1e6d0e4sm41501555ad.261.2024.12.16.04.24.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2024 04:24:36 -0800 (PST) From: Chuyi Zhou To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com Cc: chengming.zhou@linux.dev, linux-kernel@vger.kernel.org, Chuyi Zhou Subject: [PATCH 3/3] sched/fair: Ensure select housekeeping cpus in task_numa_find_cpu Date: Mon, 16 Dec 2024 20:23:57 +0800 Message-Id: <20241216122357.1276382-4-zhouchuyi@bytedance.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20241216122357.1276382-1-zhouchuyi@bytedance.com> References: <20241216122357.1276382-1-zhouchuyi@bytedance.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now in task_numa_find_cpu(), we only skip CPUs that are not in the task's cpumask, which could result in migrating the task to an isolated domain if the task's cpumask includes isolated CPUs. This is because cpuset configured partitions are always reflected in each member task's cpumask. However, for isolcpus=3D kernel command line option, the isolated CPUs are simply omitted from sched_domains without further restrictions on tasks' cpumasks. This change replaces the set of CPUs allowed to migrate the task from p->cpus_ptr by the intersection of p->cpus_ptr and housekeeping_cpumask(HK_TYPE_DOMAIN). Signed-off-by: Chuyi Zhou --- kernel/sched/fair.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index a0139659fe7a..05782b563609 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2081,6 +2081,12 @@ numa_type numa_classify(unsigned int imbalance_pct, return node_fully_busy; } =20 +static inline bool numa_migrate_test_cpu(struct task_struct *p, int cpu) +{ + return cpumask_test_cpu(cpu, p->cpus_ptr) && + housekeeping_cpu(cpu, HK_TYPE_DOMAIN); +} + #ifdef CONFIG_SCHED_SMT /* Forward declarations of select_idle_sibling helpers */ static inline bool test_idle_cores(int cpu); @@ -2168,7 +2174,7 @@ static void task_numa_assign(struct task_numa_env *en= v, /* Find alternative idle CPU. */ for_each_cpu_wrap(cpu, cpumask_of_node(env->dst_nid), start + 1) { if (cpu =3D=3D env->best_cpu || !idle_cpu(cpu) || - !cpumask_test_cpu(cpu, env->p->cpus_ptr)) { + !numa_migrate_test_cpu(env->p, cpu)) { continue; } =20 @@ -2480,7 +2486,7 @@ static void task_numa_find_cpu(struct task_numa_env *= env, =20 for_each_cpu(cpu, cpumask_of_node(env->dst_nid)) { /* Skip this CPU if the source task cannot migrate */ - if (!cpumask_test_cpu(cpu, env->p->cpus_ptr)) + if (!numa_migrate_test_cpu(env->p, cpu)) continue; =20 env->dst_cpu =3D cpu; --=20 2.20.1