Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp915686iog; Wed, 29 Jun 2022 12:54:48 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uS8zSOYJY1Vj+zzmUmmNGsSQn2aW2WPdMr1rfxRgp0UglSCcbFTLxCI/j1jeyOJvLL3geC X-Received: by 2002:a63:c5:0:b0:40c:a799:ad29 with SMTP id 188-20020a6300c5000000b0040ca799ad29mr4306961pga.305.1656532488140; Wed, 29 Jun 2022 12:54:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656532488; cv=none; d=google.com; s=arc-20160816; b=hkKAu9wDs6pXL2uL9kl42r/9ESiH4R2h1LXEQsat0LslTIQC/A75vjwe+hUUi8seep ElSjYGGHVZ7daricNFzKN6AllHApCfd1klUNG+Xj0vkokQGcXxAgI9SNiooFXHAkIhSp UdaKzG8REdUaxlQpQidt0DxzUufF4aurJBEuFr0OxHY0oh2LdyaOde7o3JoZkVljZowR FMsGroHMte5YvJx1vL+Pc3l6MLwE3LTQaCdXm6OwIEaixoQS1GhKaygj1VrTg+vWnpjI O+0Y+MlLDcCK8+GW0YAkp6UaXcKVF0Bd0Uvd/kQL+3BCJNIHDKemEUtiFPq0zHswQNmx qdNQ== 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; bh=rk9bqL/G6YN9hVeXwfOPMbueBUkcYByJsdRdBwM5Muw=; b=dOW/tp4KRzlyyZ0sRX+KNBNR3iYwJofi0eCfghRvPjdztchurU0XJh47muci3MlgdY TTdHckxoKjJKqj2wlPZCagNYtqhq+6dqXsO8759WaxlaGuiCJHgeTFd7IW2Pr7nJtovc xL4mgTF6aDTPSKrwUrJVYRpuadYtgmysNKYxgEaUFw/eo2yeFJKp8Tr3hfS/0DkP8Y7a fYoD6pUzNpkwmikkuSZr8UunvI4/1Ra4DLDUxnGSNBA3dowV8PBNKW//Sdkw/QxcRpxA eSnM6vOg5XfwFDpqnkjYoL6m3gsharpffxy4//Iana8tiW0TSkYTF423K7Nk31ep/JwG cPQQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i7-20020a170902c94700b001678898e70bsi27260850pla.223.2022.06.29.12.54.36; Wed, 29 Jun 2022 12:54:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231488AbiF2Tsb (ORCPT + 99 others); Wed, 29 Jun 2022 15:48:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231466AbiF2TsY (ORCPT ); Wed, 29 Jun 2022 15:48:24 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CDEEA1CB1B for ; Wed, 29 Jun 2022 12:48:19 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D7B1014BF; Wed, 29 Jun 2022 12:48:19 -0700 (PDT) Received: from e107158-lin.cambridge.arm.com (e107158-lin.cambridge.arm.com [10.1.197.38]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 613983F792; Wed, 29 Jun 2022 12:48:18 -0700 (PDT) From: Qais Yousef To: Ingo Molnar , "Peter Zijlstra (Intel)" , Vincent Guittot , Dietmar Eggemann Cc: linux-kernel@vger.kernel.org, Xuewen Yan , Wei Wang , Jonathan JMChen , Hank , Qais Yousef Subject: [PATCH 7/7] sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition Date: Wed, 29 Jun 2022 20:46:32 +0100 Message-Id: <20220629194632.1117723-8-qais.yousef@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220629194632.1117723-1-qais.yousef@arm.com> References: <20220629194632.1117723-1-qais.yousef@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_NONE,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 If the utilization of the woken up task is 0, we skip the energy calculation because it has no impact. But if the task is boosted (uclamp_min != 0) will have an impact on task placement and frequency selection. Only skip if the util is truly 0 after applying uclamp values. Change uclamp_task_cpu() signature to avoid unnecessary additional calls to uclamp_eff_get(). feec() is the only user now. Fixes: 732cd75b8c920 ("sched/fair: Select an energy-efficient CPU on task wake-up") Signed-off-by: Qais Yousef --- kernel/sched/fair.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 499ef7a7288c..a112ca45864c 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4057,14 +4057,16 @@ static inline unsigned long task_util_est(struct task_struct *p) } #ifdef CONFIG_UCLAMP_TASK -static inline unsigned long uclamp_task_util(struct task_struct *p) +static inline unsigned long uclamp_task_util(struct task_struct *p, + unsigned long uclamp_min, + unsigned long uclamp_max) { - return clamp(task_util_est(p), - uclamp_eff_value(p, UCLAMP_MIN), - uclamp_eff_value(p, UCLAMP_MAX)); + return clamp(task_util_est(p), uclamp_min, uclamp_max); } #else -static inline unsigned long uclamp_task_util(struct task_struct *p) +static inline unsigned long uclamp_task_util(struct task_struct *p, + unsigned long uclamp_min, + unsigned long uclamp_max) { return task_util_est(p); } @@ -6913,7 +6915,7 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu) target = prev_cpu; sync_entity_load_avg(&p->se); - if (!task_util_est(p)) + if (!uclamp_task_util(p, p_util_min, p_util_max)) goto unlock; for (; pd; pd = pd->next) { -- 2.25.1