Received: by 2002:ab2:788f:0:b0:1ee:8f2e:70ae with SMTP id b15csp48096lqi; Wed, 6 Mar 2024 09:40:42 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXPQvjEntL/g45WwORqSf8CV/GN5cBxovPcI3zdIg0dgIODszZ7MUGCYq7MAHH02R6ndEzBOJCIk3eryN5xyr7M/OQPKWwga+d+vVNCyw== X-Google-Smtp-Source: AGHT+IEAUHerEbhOC4sFJCueNqBqq8daBDp6iXvruzY9a8hS1V1rXxGdYHAcl/QfX2WNpLngks4J X-Received: by 2002:a17:906:b18:b0:a44:de0e:b4d with SMTP id u24-20020a1709060b1800b00a44de0e0b4dmr8148806ejg.63.1709746842358; Wed, 06 Mar 2024 09:40:42 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709746842; cv=pass; d=google.com; s=arc-20160816; b=hrOXNR4Rwhi4I3JnnpcB/IWolwUhvO7MOuLjyJDIj7XaO10E5AsrS+oE7pcDncY5xj 31362DFTAW4awGBrDKvLjZ8FFgXOA80uNQWhCkbD20OvcAbIuVODeDtW4ztfBCCjF91y A+Dtna1afZlK2/1KzIW4NQo9nBkWr5JCXOez0kuYIcsmh+Ut2X0eisxRO5nGHqnIkx+c Inud2lf6mWCrbzElJaNz+Bt0kiF6U8MFEunC4mLBGjy8t44Kp0P3zxmkuFcgj6GB/Qgg 7iZaa8tach8NOqdsN8kJyuFBKEvoLTeGtbZHABXXHX9pGOlCa9d5HqXPZ8cjxGRErn91 J5Qw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :dkim-signature; bh=MOwDT3mxKZpx/kT9fAlhLNpVaeUclbZHbSik1IBFPr8=; fh=1VuoKGQ8QQ8fiFEWxLv2psIdtfP5e5bzE0FS6qgwdFQ=; b=kq5GRQYXJeMOZN0zvPlPSttAjidpHIlF86uLwURWKfdqKpCBsS5rjEwLBCE5nS4Zqk RBgZrjuyAu0Q6YM3jSXeEQmNwZvVIwn66B86UvKOM44yVzyaSE2O9GpxQya8UB7ZOxw/ gNKVfkyM6sly9SGyqQ10yuECNwek3aaYiZWn7PtsIEiNS5fyWrn0VmSy9p/r3GKkwpw2 ZJ2AxSfawvtjRPGpPmeyW5seiiLrFNmn6IeCgxWf/4D79VSWUcr3Gl9niJvNu6ZhFZ1Y R5EYGRaiO9ZqZz/GBJJsU233kpw3G6+07ug8gqVbQ3jORIDmxytfutQbd4b+EwuAKYak zurw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VXN9fcRJ; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-94339-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-94339-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id k7-20020a170906680700b00a3fc1f03ad2si5906397ejr.91.2024.03.06.09.40.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Mar 2024 09:40:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-94339-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VXN9fcRJ; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-94339-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-94339-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.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 E04801F22803 for ; Wed, 6 Mar 2024 17:40:41 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4BD7C132C36; Wed, 6 Mar 2024 17:40:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="VXN9fcRJ" Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 CE2285E08B for ; Wed, 6 Mar 2024 17:40:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709746831; cv=none; b=LQyPQOEJ7hRCn13knpTUk5zOWY4E6sU6lRWRCgiOIdh0gvzcUdmBij8PZClE22vPhf5Yn6dYh6N6e687TnjWgqVGgxvnrDlLAaI/qOydiKxnKi6Ly1peYIIw3MC3gPYMZlwh5DXgrSDvQgR1DSPN/8DLH778osIjnw773y5SvUI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709746831; c=relaxed/simple; bh=mVV7zXlN8fszW38oHKvvJRLttQm7teAyxRGq3P9YKcw=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=rIc9VY576yGzsnViXJQPZtb7PHKXNEWuCaZsEHkTlVB9ZltSXKUozJ3VyNGhee97OD0cCKKksTaulzEyaCzhDlUB0jPDrL8EkofSPZd/cc7bnc+p0DUemlzmfgZV95zbvlrW6js3H0IyuKmiEGZN/VkFE5C8APUaV3Nk+h4Sths= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=VXN9fcRJ; arc=none smtp.client-ip=209.85.216.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-29a2d0f69a6so5127750a91.3 for ; Wed, 06 Mar 2024 09:40:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709746829; x=1710351629; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MOwDT3mxKZpx/kT9fAlhLNpVaeUclbZHbSik1IBFPr8=; b=VXN9fcRJDJ3esgvm0uJIhBYfnEU7Ro/T2MWRxfAH0EGeXGpwHQLZS1LbLQwBOMLg3O ENTbKVunmUMDgloEyjJObeWo7Ky/O5UDaYXbHnxPW1ed07f8haed1/mGPFX04H71BZRM HME2NmEPfSG42gdiZrfp88gBxK1+wcC5lryuApIC37W0XjCFFuPA0QypUcBEm0ITUUmQ 3sZWBalcFH3HXlo+fBt/cu+2PdD5hWOTJsJWdwnQORqB9tf99dCLs3SBk7H+1SDWmwiv 2owEvDc3a3jKpM0GAOtJ3MiC+sj6hSebzkZasiJpzfXL/TpXw8m//3zq8vkrf/UeBzYm LQ0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709746829; x=1710351629; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MOwDT3mxKZpx/kT9fAlhLNpVaeUclbZHbSik1IBFPr8=; b=akHxonJJc3lXJCt/RW1wiQTtlX/J+HmpSPsGOpdbvU/Z3ej1NMKCRbRzqmtBGBOne5 t0A+5WFsA0irBaRc93lFvexqqoaQF2AU5zI/2xqBAMXCkdpXa54pI1lMuuGG+p4zlWgB xtv9Vi9EEplc7+zl32mO7o5OP9n9N/DDQX8gLYAWlMWSEzZhBthjq10Qkw75cagf9vTq 04L/eN3Al6fmj45jav4OGreMIvwNRahuPeiFChb7h44zDlSvOF9fNnb0BoxfKDevM3pe odCeWV4pnGra6bhjJSXNroTWS/N2IlpHl0MAHX+cR4ihbS7kFa+x/bbSvVbopxCyKNhM 4LXA== X-Forwarded-Encrypted: i=1; AJvYcCVyjE/1Fppl3rwdF4sNnLa1XuROaewTGMjy2L2e+eWAgmyV20/N7Mz6UdG3OlrfM9Mae36OCak0XfapWfbxlEXAmqFkc6NSfMV05ISv X-Gm-Message-State: AOJu0YyJQnN/sy4Kvlw2DkYBwwWGvg48BSuDJLvYgFwwEKDyFOT7b740 EVoEg42frQOxT6FBfc0qn6e8ddu7pQBx20/443fmxciBAt67YoIzJJoYXwxA2gym4aKTMAkokXY Asb29ez8BcZbrF2K71gTRbk8XtVu5DBIKwFjRxA== X-Received: by 2002:a17:90a:3004:b0:299:6389:2961 with SMTP id g4-20020a17090a300400b0029963892961mr14227703pjb.13.1709746829085; Wed, 06 Mar 2024 09:40:29 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240306102454.341014-1-sshegde@linux.ibm.com> <20240306102454.341014-3-sshegde@linux.ibm.com> In-Reply-To: <20240306102454.341014-3-sshegde@linux.ibm.com> From: Vincent Guittot Date: Wed, 6 Mar 2024 18:40:18 +0100 Message-ID: Subject: Re: [PATCH v5 2/3] sched/fair: Use helper function to access rd->overutilized To: Shrikanth Hegde Cc: mingo@kernel.org, peterz@infradead.org, yu.c.chen@intel.com, dietmar.eggemann@arm.com, linux-kernel@vger.kernel.org, nysal@linux.ibm.com, aboorvad@linux.ibm.com, srikar@linux.ibm.com, vschneid@redhat.com, pierre.gondois@arm.com, qyousef@layalina.io Content-Type: text/plain; charset="UTF-8" On Wed, 6 Mar 2024 at 11:25, Shrikanth Hegde wrote: > > Overutilized field is accessed directly in multiple places. > So it could use a helper function. That way one might be more > informed that it needs to be used only in case of EAS. > > No change in functionality intended. > > Reviewed-by: Qais Yousef > Signed-off-by: Shrikanth Hegde > --- > kernel/sched/fair.c | 20 +++++++++++++++++--- > 1 file changed, 17 insertions(+), 3 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 997e570d9423..e3086c8930ea 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -6675,6 +6675,15 @@ static inline bool cpu_overutilized(int cpu) > return !util_fits_cpu(cpu_util_cfs(cpu), rq_util_min, rq_util_max, cpu); > } > > +/* > + * Ensure that caller can do EAS. overutilized value > + * make sense only if EAS is enabled > + */ > +static inline int is_rd_overutilized(struct root_domain *rd) > +{ > + return READ_ONCE(rd->overutilized); > +} > + > static inline void set_rd_overutilized_status(struct root_domain *rd, > unsigned int status) > { > @@ -6694,7 +6703,7 @@ static inline void check_update_overutilized_status(struct rq *rq) > if (!sched_energy_enabled()) > return; > > - if (!READ_ONCE(rq->rd->overutilized) && cpu_overutilized(rq->cpu)) > + if (!is_rd_overutilized(rq->rd) && cpu_overutilized(rq->cpu)) > set_rd_overutilized_status(rq->rd, SG_OVERUTILIZED); > } > #else > @@ -6708,6 +6717,11 @@ static inline void set_rd_overutilized_status(struct root_domain *rd, > { > return 0; > } > + > +static inline int is_rd_overutilized(struct root_domain *rd) I don't think that is_rd_overutilized() is called outside #ifdef CONFIG_SMP so you can remove it. > +{ > + return 0; > +} > #endif > > /* Runqueue only has SCHED_IDLE tasks enqueued */ > @@ -7989,7 +8003,7 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu) > > rcu_read_lock(); > pd = rcu_dereference(rd->pd); > - if (!pd || READ_ONCE(rd->overutilized)) > + if (!pd || is_rd_overutilized(rd)) > goto unlock; > > /* > @@ -10872,7 +10886,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) > if (sched_energy_enabled()) { > struct root_domain *rd = env->dst_rq->rd; > > - if (rcu_dereference(rd->pd) && !READ_ONCE(rd->overutilized)) > + if (rcu_dereference(rd->pd) && !is_rd_overutilized(rd)) > goto out_balanced; > } > > -- > 2.39.3 >