Received: by 2002:ab2:788f:0:b0:1ee:8f2e:70ae with SMTP id b15csp423048lqi; Thu, 7 Mar 2024 00:58:27 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV8t1ZQPljrAOZUGu3GLf7+w/J56Qw7A4TFbbuc/jYnXJe4q57+lz1LXIIIVNgoXKzza0Sv3KDj4lYBKH90sgh4PHp2kwJOe9irNbdHlA== X-Google-Smtp-Source: AGHT+IH+dqyRup6Gvhp1FM820O9J1PFWmDnNrWtntdysPmZ5ESF/CSo3L+dPpMeCnVF3mkDGjrAJ X-Received: by 2002:a50:a41b:0:b0:565:7b88:1cff with SMTP id u27-20020a50a41b000000b005657b881cffmr12446655edb.11.1709801907144; Thu, 07 Mar 2024 00:58:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709801907; cv=pass; d=google.com; s=arc-20160816; b=lfMiScQmTktm7noS7WBgg+h/A9c+oOeNCSN0CZcqI2HCci4HEMaCBHIPv+oIVbKMYn Me9jQMxHkO+oYlAJ23Efb/TsowcsUCwFNUHA+OY74tE4SPl449jrMUHhA5ryu4vfVuQ9 JIenQCMnNQZXW5Pm/QizLFEHrHq4oGCl/Xw8TPStQ7sPUjXHNPgw7/dKCt1VJlqnUdBu I2sWIuI0uQl60W89JTGvHTq8BFt4vsP8wHkD4liN4W4Xi+CLYKIoJxdMpxqbb541CN2S qaV012N3bUnOI1UpMxpXvMIaf+SS08MKuqc0ZWkeDV3gSDMMyFliEZZ+oWHo82RQ62Eh fPlw== 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:dkim-signature; bh=hxxfSt/V2kIxU74jTxTo63XdTt0LQWBgQ0OZjGD0LUg=; fh=2+jFjJ8sGDJX3s4OGBAJwbB/o+4ujVvgIlwdivG7lzQ=; b=e5U6mrWQ0t5tIlwkf6mbBrWAkok34c/VDnzlSsfP2HTDGz9umf8O6KZmhPkaeJtwp3 qSubO3k1dGSQly7GYvj9KCg982X/i8CeFcKaWXApTzUxS6ADRR9M6bguTlsBS8XD9DsX bAPJA+lyqO/8vFtZmQ8TUcdmc8lIkKIfQc4scirkcHoKBPvsSCfx9gy4arLk4LsCg4KN DnNGabc3eCDKHUuDPz+cNAHa45mFd0RV+sU+dbCGie2vvOErGwgFi+EAuEFINqliMF8C 2PEhO1fKjVcuzR7lsBz5LeV3ZgfYIpj8TY3xPwVxEyfHP/EBkPvgeYeUe4gWRDIhx2h0 ZUjw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=G+wusVe6; arc=pass (i=1 spf=pass spfdomain=linux.ibm.com dkim=pass dkdomain=ibm.com dmarc=pass fromdomain=linux.ibm.com); spf=pass (google.com: domain of linux-kernel+bounces-95170-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-95170-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id d8-20020a50cd48000000b00566fa584317si5275445edj.370.2024.03.07.00.58.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Mar 2024 00:58:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-95170-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=G+wusVe6; arc=pass (i=1 spf=pass spfdomain=linux.ibm.com dkim=pass dkdomain=ibm.com dmarc=pass fromdomain=linux.ibm.com); spf=pass (google.com: domain of linux-kernel+bounces-95170-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-95170-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com 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 DAF511F228D1 for ; Thu, 7 Mar 2024 08:58:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7381F82D8B; Thu, 7 Mar 2024 08:58:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="G+wusVe6" Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3A1A82D73 for ; Thu, 7 Mar 2024 08:58:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709801899; cv=none; b=S6Vs7ttOU4NHTZo8VUMJkXuL1nNhZxhlaqxuPwC4RbWOS5+zx/xYawDjPViKqQobp1erY5n842aX/gWdCw2lTtS7J7E802S1WuumQoNEsJE+5PELTxwFdJniXKKxsL//BdPgewuuP7H89osh8WK8QnxahcS3AtyefdahiWeiJ40= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709801899; c=relaxed/simple; bh=Oq0WmmSAbHNYJsE6eKHeXKHCOi9xt3NB/PHSOD/ncTE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pB1ym9n/x7xTOVGffY7Sx2NjsyXFjKQfLT96VKM+O34FtKd70okctx8ykxNBlLnEN8SprWXX1/xhZDauJ7luTSg44u6pidJndISGsVMoO6oiRcZypp+UoEncUvzJgUo2Vw6N/RkzJu0+nUVvysJCsWInZTNiEDyGZTMmJgLXWCI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=G+wusVe6; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 4278WDBZ020674; Thu, 7 Mar 2024 08:57:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=hxxfSt/V2kIxU74jTxTo63XdTt0LQWBgQ0OZjGD0LUg=; b=G+wusVe6KmlwvUaCqmZ1GL5TXSWPnu6wOMRJYcL9pNyteoJsefhI1QcUqSZvXz/2lFcS amRLelaD4/UFXJRn2XTB+gmwRH4QMixr3Vplx0AG4OZrA1AG1mRmS4L5ERks4ibWrO2D Kpopqpn5wmA9esjuEP53rn7LbaRAwWnnUh40Tc7RLLJPN70a3ezyh1Nn3ca5tQsMSq8V RNzWryI7A7JZUoaDe3Ba0VzJCNFmen22cwt3hK6fNif1WcvjSkH/TEVy6CwiyKKfY0Et SYmnq5EXb7+VM1OkNZ59kgp/fPARIQaib7eSeAG9o6lQa5MYNAgRa2Rqgax2dv4Q/5r/ 1A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wqa5bgfys-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Mar 2024 08:57:55 +0000 Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 4278uY9g032138; Thu, 7 Mar 2024 08:57:55 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wqa5bgfva-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Mar 2024 08:57:54 +0000 Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 4275wg6C010877; Thu, 7 Mar 2024 08:57:52 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 3wmh52m1ak-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Mar 2024 08:57:52 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 4278vlwA9306402 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 7 Mar 2024 08:57:49 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8A99B20040; Thu, 7 Mar 2024 08:57:47 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E3C6B2004B; Thu, 7 Mar 2024 08:57:44 +0000 (GMT) Received: from li-c1fdab4c-355a-11b2-a85c-ef242fe9efb4.in.ibm.com (unknown [9.109.201.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 7 Mar 2024 08:57:44 +0000 (GMT) From: Shrikanth Hegde To: mingo@kernel.org, peterz@infradead.org, vincent.guittot@linaro.org Cc: sshegde@linux.ibm.com, 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 Subject: [PATCH v6 3/3] sched/fair: Combine EAS check with overutilized access Date: Thu, 7 Mar 2024 14:27:25 +0530 Message-Id: <20240307085725.444486-4-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20240307085725.444486-1-sshegde@linux.ibm.com> References: <20240307085725.444486-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: pdgD9pN-oaGrw84VU4hJ9SINOtnkmMDA X-Proofpoint-ORIG-GUID: LstN7FprOKdg5cQOk6nzUPeIOu7BX0iO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-07_05,2024-03-06_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 malwarescore=0 clxscore=1015 adultscore=0 impostorscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 priorityscore=1501 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403070064 Access to overutilized is always used with sched_energy_enabled in the pattern: if (sched_energy_enabled && !overutilized) do something So modify the helper function to return this pattern. This is more readable code as it would say, do something when root domain is not overutilized. No change in functionality intended. Suggested-by: Vincent Guittot Signed-off-by: Shrikanth Hegde --- kernel/sched/fair.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 87e08a252f94..bcda18a2ccfe 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6676,12 +6676,11 @@ static inline bool cpu_overutilized(int cpu) } /* - * Ensure that caller can do EAS. overutilized value - * make sense only if EAS is enabled + * overutilized value make sense only if EAS is enabled */ -static inline int is_rd_overutilized(struct root_domain *rd) +static inline int is_rd_not_overutilized(struct root_domain *rd) { - return READ_ONCE(rd->overutilized); + return sched_energy_enabled() && !READ_ONCE(rd->overutilized); } static inline void set_rd_overutilized_status(struct root_domain *rd, @@ -6700,10 +6699,8 @@ static inline void check_update_overutilized_status(struct rq *rq) * overutilized field is used for load balancing decisions only * if energy aware scheduler is being used */ - if (!sched_energy_enabled()) - return; - if (!is_rd_overutilized(rq->rd) && cpu_overutilized(rq->cpu)) + if (is_rd_not_overutilized(rq->rd) && cpu_overutilized(rq->cpu)) set_rd_overutilized_status(rq->rd, SG_OVERUTILIZED); } #else @@ -7989,7 +7986,7 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu) rcu_read_lock(); pd = rcu_dereference(rd->pd); - if (!pd || is_rd_overutilized(rd)) + if (!pd) goto unlock; /* @@ -8192,7 +8189,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int wake_flags) cpumask_test_cpu(cpu, p->cpus_ptr)) return cpu; - if (sched_energy_enabled()) { + if (is_rd_not_overutilized(this_rq()->rd)) { new_cpu = find_energy_efficient_cpu(p, prev_cpu); if (new_cpu >= 0) return new_cpu; @@ -10869,12 +10866,9 @@ static struct sched_group *find_busiest_group(struct lb_env *env) if (busiest->group_type == group_misfit_task) goto force_balance; - if (sched_energy_enabled()) { - struct root_domain *rd = env->dst_rq->rd; - - if (rcu_dereference(rd->pd) && !is_rd_overutilized(rd)) - goto out_balanced; - } + if (is_rd_not_overutilized(env->dst_rq->rd) && + rcu_dereference(env->dst_rq->rd->pd)) + goto out_balanced; /* ASYM feature bypasses nice load balance check */ if (busiest->group_type == group_asym_packing) -- 2.39.3