From patchwork Tue Feb 6 04:39:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Vernet X-Patchwork-Id: 197181 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:168b:b0:106:860b:bbdd with SMTP id ma11csp1318669dyb; Mon, 5 Feb 2024 20:40:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IEyyX08SEE44aEiKMoER+Ww+HLr5WROwROGJOYDv+XrdS7fPpK6S0MngkUa165td0wxZzBi X-Received: by 2002:adf:ce0f:0:b0:33b:21e4:68d5 with SMTP id p15-20020adfce0f000000b0033b21e468d5mr361589wrn.34.1707194434561; Mon, 05 Feb 2024 20:40:34 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707194434; cv=pass; d=google.com; s=arc-20160816; b=o7f+5Zwv2csfJetUUxAjcL/WRicOf/AmQC8maPip1H7yYjQR4JaJtDhkQFm8sggd83 b/gWScSMUYGA59Mtt/dEL+rfeHB+nSZguXzOFXxMAzIJXEMHrQrsfloRMshIUkzWXoKn CLJiAjh1nW0N49kIOFXkuMUO+UfEBOd00TBcwzhSwMw3ndK6y2bST6WCK5OGN/WN2r4w htzHpMmShi79u3wfBmxI9COUIOxQ8ANbf4kM8foinilFUk1IG/Y9BUechkZF5sUh5XBX zw+LvfGT8jJk5Q7gw0wANHq43Yidge9EbpTP4yiUjydLoIYMJGmHIzDzwSvTFNSMDuwr WB6g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=OweXHWUMGZlBLk7CQUqL8P+eAADd+iVa1P4u5q9wuCA=; fh=lhoQ/6L4/vx0uBcNBaRnfWpqHTe9CIWMFEWyj0Xsv/Y=; b=G5pdZTvg984DDBxEZVNx72Fv3H2vTcF7sHsrHjC8A2jIvl6XTzqLShTkoeBXG+x0di Nbf2VhimIyx1EhqnP0I76xUK0u3SdhsoQO6fWh0jF+GIuAEzVeg6+2RrqAk8g7yqnlHI 0+IjqUt/3PKqiO5OsGEcvQI+GQldHEvIVXSR9lvgQnmHW4z5yFUlkxNIUshUNl32TZk5 OrJo6UC1puem+4xjRqJSpxxJBPD0S/gTo0mg9lUyTurCDL9Z+BnaD/Jt4i1WSdPb0i0Y CNjH/8UqSwHIvD1FbpdtEeJUUhBx9WAzuS95P9A8m4Ez0jIJc+Op/+oMPb6RAWPtaWPq Eg9A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-54320-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-54320-ouuuleilei=gmail.com@vger.kernel.org" X-Forwarded-Encrypted: i=1; AJvYcCUd9P+cLQmMJs8ASaZiLbfW+sp40s4LCS0GehXJ2X0lsOXEjYfZNXUwM/1JCSGYisvvJQ4InEoWL1AwtkZFeoZCjzGDOA== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id j10-20020a170906254a00b00a382bbb3f43si177582ejb.477.2024.02.05.20.40.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Feb 2024 20:40:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-54320-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-54320-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-54320-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 2EBDA1F21182 for ; Tue, 6 Feb 2024 04:40:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 205137CF24; Tue, 6 Feb 2024 04:39:35 +0000 (UTC) Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) (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 E66E57C088 for ; Tue, 6 Feb 2024 04:39:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707194373; cv=none; b=mkEjixLMhAbcVFtGPQ2bsia9spPaDbSDSPrt/Qt4VSHp7m2CFHJySM1ArHtFwvsfMJ0VmtrY8UmKLNmQOK42swHM4Kus4T6sdq58aoesZ1wMsLH1N/P1efltEZZ4ctS6zA/0HtbVa/qB9ldEqgkgFOOHtKdd2hpmR3mv86eZWfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707194373; c=relaxed/simple; bh=D0GWn07QSrQNKcLM0EZX6f62nVaGa9qePJ8JuBS0Phc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C2Xs6zTeFs2mCEuo6OfDCt3S2WH/yaDM5eEA6qzVrJlcdQvBCUkHglXS0nijE4jNvz6gLGrN6u7qHyE0LUB/ho12LJRxkChPqUJ2fkViG4/2Sux8FmKJO1Ub2jJ69KJG0RgMu1CRyXcVbPICfDBu2pkegCkDeV+luz//54wEcl8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=manifault.com; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.219.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=manifault.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-68c794970d5so1499356d6.0 for ; Mon, 05 Feb 2024 20:39:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707194370; x=1707799170; 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=OweXHWUMGZlBLk7CQUqL8P+eAADd+iVa1P4u5q9wuCA=; b=s+34o9Lo7gaR+7862p3T4u3BguXCwUF/04Wk6Mhou61MyoBvbRRIlx9LuE51diomvv xwxIUyAFKXrwnNdEGcYz2QD7dJKaEoCQYzm6l7ahPIKWL/85D2xH+b9yCiQs8AsDDJLC TntNnbghvPpJIvwPx9yVxJQgd2e6qFSZN9xVKZeddPxa5h4mQElnl+So35l3uBABeLgs d+PPSZ81n8YzVwzU0pb9GONr7u9GcpheJAjVXdcsH33v0w2T7v7a+W2HG+QWL/SsELNp FHmDHNJQc/lv5ZIZ7gd5MXdLIW5r6cM/9iAMRrXq6L8ScDoPLfmK2sBiaAlZBVQRPQ0e eiHg== X-Gm-Message-State: AOJu0YzL/Yu9B+xSyWCZXdpw7VPov+65f/novCyigkSw7BWr12QR4PGY GGjCIalb5shxikLsN/q+aC+7LW/zGaVwYnO833SmkZwRge3QhzQF9YEMegqJbs9cLA== X-Received: by 2002:a05:6214:1d28:b0:68c:8218:30a2 with SMTP id f8-20020a0562141d2800b0068c821830a2mr19466751qvd.0.1707194370393; Mon, 05 Feb 2024 20:39:30 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXB1wpEtOw8AUVfamqVIhtmaNPh6FPGwA2PmblCOucWpKiQRbP+BXxOBdLCHMdyOborem7tLZ57EHPgpRd+APgTYiK1ZS1vyrAusIYSyQIZO4ZFr7lKnovzUyv3r5MQJDSZ5YwZLPGUwKY7i2UQpN16Ki3eYT007ocCN2IXFCJlAxG51hf0RP03NoCPJrHEXBH5r3jSPe1++5ExseB+V141RZ5cYAbc4UZGhVXoMv3CguHKD1XX1FZhUT73xjaMByYlcYzGaoX+rcAkdyyzfIDkLzv1WGRqRiMUPzCi3vbIl74lkVc= Received: from localhost (c-24-1-27-177.hsd1.il.comcast.net. [24.1.27.177]) by smtp.gmail.com with ESMTPSA id f7-20020ad45587000000b0068c81299a2bsm671836qvx.15.2024.02.05.20.39.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Feb 2024 20:39:29 -0800 (PST) From: David Vernet To: linux-kernel@vger.kernel.org Cc: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, bsegall@google.com, bristot@redhat.com, vschneid@redhat.com, kernel-team@meta.com Subject: [PATCH v3 3/3] sched/fair: Simplify some logic in update_sd_pick_busiest() Date: Mon, 5 Feb 2024 22:39:21 -0600 Message-ID: <20240206043921.850302-4-void@manifault.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240206043921.850302-1-void@manifault.com> References: <20240206043921.850302-1-void@manifault.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790123111050466676 X-GMAIL-MSGID: 1790123111050466676 When comparing the current struct sched_group with the yet-busiest domain in update_sd_pick_busiest(), if the two groups have the same group type, we're currently doing a bit of unnecessary work for any group >= group_misfit_task. We're comparing the two groups, and then returning only if false (the group in question is not the busiest). Othewise, we break, do an extra unnecessary conditional check that's vacuously false for any group type > group_fully_busy, and then always return true. Let's just return directly in the switch statement instead. This doesn't change the size of vmlinux with llvm 17 (not surprising given that all of this is inlined in load_balance()), but it does shrink load_balance() by 88 bytes on x86. Given that it also improves readability, this seems worth doing. Reviewed-by: Vincent Guittot Reviewed-by: Valentin Schneider Signed-off-by: David Vernet --- kernel/sched/fair.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 76d03106040d..fa049f866461 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10006,9 +10006,7 @@ static bool update_sd_pick_busiest(struct lb_env *env, switch (sgs->group_type) { case group_overloaded: /* Select the overloaded group with highest avg_load. */ - if (sgs->avg_load <= busiest->avg_load) - return false; - break; + return sgs->avg_load > busiest->avg_load; case group_imbalanced: /* @@ -10019,18 +10017,14 @@ static bool update_sd_pick_busiest(struct lb_env *env, case group_asym_packing: /* Prefer to move from lowest priority CPU's work */ - if (sched_asym_prefer(sg->asym_prefer_cpu, sds->busiest->asym_prefer_cpu)) - return false; - break; + return sched_asym_prefer(sds->busiest->asym_prefer_cpu, sg->asym_prefer_cpu); case group_misfit_task: /* * If we have more than one misfit sg go with the biggest * misfit. */ - if (sgs->group_misfit_task_load <= busiest->group_misfit_task_load) - return false; - break; + return sgs->group_misfit_task_load > busiest->group_misfit_task_load; case group_smt_balance: /*