Message ID | 20230314103357.26010-2-lukasz.luba@arm.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp1678334wrd; Tue, 14 Mar 2023 03:38:09 -0700 (PDT) X-Google-Smtp-Source: AK7set9IzOqRzvxNpsRMuKHIZulbJ+JJP0t4eYOAmAny7ABBHsCv+B83INuRWUTX5kPXrfNAqV5N X-Received: by 2002:a17:90a:2c2:b0:234:ac93:d715 with SMTP id d2-20020a17090a02c200b00234ac93d715mr38708013pjd.45.1678790288748; Tue, 14 Mar 2023 03:38:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1678790288; cv=none; d=google.com; s=arc-20160816; b=sPWwKDtLkg6IzaF6la6Os73KEmEQ9JJ/g58qeNBx77F99SQetN5GAkEv231XHgbz0D 163iP50eukmT8nMipTslPamk0CCUpRCEBm2wQFlwgvL5wAP74UW6qPymPGLfRKLp93Wx YXhvM2uJaJzNWQi0fKbM2jaGqteXZK1nyokggza2VfApEg8NatHUVNvFIDeboKafI0Df GrX4ZmeIXYSQUisPclVSknDRIGWnl6EbwIbSkY5vpZMJ7+H1ePcL/fYu5j2i0s4QzbUq 0/w5sHRtzWG/9Nauxn7n/xVgZOc8WdG3kLu/lE7kI8TRrJFKdNfeYdXvpkmv9V0XkYFB OsRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=Ueb4Nnd44zcCGj1+yqsSLROzel10a4lIjdgwj+oK658=; b=GyOxIHLOXQOb05tcm0q12HEbZv4fHa4376tpaWngJeSg331PH2vbt37fqBLifA78p4 JxaJQpiZDva+8jemZ2OCsMNd0KUFwByfoOPd26kCXS6BIHGvSjkOtuM9uyWjTqRgpvb5 ZNYVSc11qF8valBxGCydynVAvRsYe5X6UNeFHATqB8CJo98RkJuACSwbgWCt/ddg9GwK ggQeTa+5Mh5scIXHYNfsQ/e9nVw2F69c6oEPGz8BSM33WWSzVMfY8LzRjq5vEOcGg2iy oLShT5bxMCZyHTt6g2aoXb4Nu/+UPVuTCCvXBmU1Fz9G/umo6Pq8WOqZ3uuA7fV9mZeN Ifgw== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c5-20020a17090a8d0500b0023750b6960csi2094595pjo.156.2023.03.14.03.37.55; Tue, 14 Mar 2023 03:38:08 -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 S229734AbjCNKfZ (ORCPT <rfc822;realc9580@gmail.com> + 99 others); Tue, 14 Mar 2023 06:35:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231382AbjCNKfJ (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 14 Mar 2023 06:35:09 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0926A8A3B2; Tue, 14 Mar 2023 03:34:32 -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 5A33F1042; Tue, 14 Mar 2023 03:35:00 -0700 (PDT) Received: from e123648.arm.com (unknown [10.57.19.101]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D46943F71A; Tue, 14 Mar 2023 03:34:13 -0700 (PDT) From: Lukasz Luba <lukasz.luba@arm.com> To: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, rafael@kernel.org Cc: lukasz.luba@arm.com, dietmar.eggemann@arm.com, rui.zhang@intel.com, amit.kucheria@verdurent.com, amit.kachhap@gmail.com, daniel.lezcano@linaro.org, viresh.kumar@linaro.org, len.brown@intel.com, pavel@ucw.cz, Pierre.Gondois@arm.com, ionela.voinescu@arm.com, rostedt@goodmis.org, mhiramat@kernel.org Subject: [PATCH 01/17] PM: EM: Refactor em_cpufreq_update_efficiencies() arguments Date: Tue, 14 Mar 2023 10:33:41 +0000 Message-Id: <20230314103357.26010-2-lukasz.luba@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230314103357.26010-1-lukasz.luba@arm.com> References: <20230314103357.26010-1-lukasz.luba@arm.com> X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760339205693415007?= X-GMAIL-MSGID: =?utf-8?q?1760339205693415007?= |
Series |
Introduce runtime modifiable Energy Model
|
|
Commit Message
Lukasz Luba
March 14, 2023, 10:33 a.m. UTC
In order to prepare the code for the modifiable EM perf_state table,
refactor existing function em_cpufreq_update_efficiencies().
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
---
kernel/power/energy_model.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
Comments
On Tue, Mar 14, 2023 at 11:34 AM Lukasz Luba <lukasz.luba@arm.com> wrote: > > In order to prepare the code for the modifiable EM perf_state table, > refactor existing function em_cpufreq_update_efficiencies(). > > Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> Quite obviously, this series needs ACKs from the Energy Model people. > --- > kernel/power/energy_model.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c > index f82111837b8d..265d51a948d4 100644 > --- a/kernel/power/energy_model.c > +++ b/kernel/power/energy_model.c > @@ -240,10 +240,10 @@ static int em_create_pd(struct device *dev, int nr_states, > return 0; > } > > -static void em_cpufreq_update_efficiencies(struct device *dev) > +static void > +em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table) > { > struct em_perf_domain *pd = dev->em_pd; > - struct em_perf_state *table; > struct cpufreq_policy *policy; > int found = 0; > int i; > @@ -257,8 +257,6 @@ static void em_cpufreq_update_efficiencies(struct device *dev) > return; > } > > - table = pd->table; > - > for (i = 0; i < pd->nr_perf_states; i++) { > if (!(table[i].flags & EM_PERF_STATE_INEFFICIENT)) > continue; > @@ -400,7 +398,7 @@ int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states, > > dev->em_pd->flags |= flags; > > - em_cpufreq_update_efficiencies(dev); > + em_cpufreq_update_efficiencies(dev, dev->em_pd->table); > > em_debug_create_pd(dev); > dev_info(dev, "EM: created perf domain\n"); > -- > 2.17.1 >
On 3/27/23 19:16, Rafael J. Wysocki wrote: > On Tue, Mar 14, 2023 at 11:34 AM Lukasz Luba <lukasz.luba@arm.com> wrote: >> >> In order to prepare the code for the modifiable EM perf_state table, >> refactor existing function em_cpufreq_update_efficiencies(). >> >> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> > > Quite obviously, this series needs ACKs from the Energy Model people. FWIW, I tried the patch-set and everything was working well. I had some small comments for some patches, Regards, Pierre
Hi Rafael, On 3/27/23 18:16, Rafael J. Wysocki wrote: > On Tue, Mar 14, 2023 at 11:34 AM Lukasz Luba <lukasz.luba@arm.com> wrote: >> >> In order to prepare the code for the modifiable EM perf_state table, >> refactor existing function em_cpufreq_update_efficiencies(). >> >> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> > > Quite obviously, this series needs ACKs from the Energy Model people. > My apologies, I have missed your email. Sure thing, we are going to discuss this patch set on OSPM23. So hopefully that would help bring some attention here and people would look at it or give it a try. Regards, Lukasz
On 4/11/23 16:43, Pierre Gondois wrote: > > > On 3/27/23 19:16, Rafael J. Wysocki wrote: >> On Tue, Mar 14, 2023 at 11:34 AM Lukasz Luba <lukasz.luba@arm.com> wrote: >>> >>> In order to prepare the code for the modifiable EM perf_state table, >>> refactor existing function em_cpufreq_update_efficiencies(). >>> >>> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> >> >> Quite obviously, this series needs ACKs from the Energy Model people. > > FWIW, I tried the patch-set and everything was working well. I had > some small comments for some patches, Thanks Pierre! > > Regards, > Pierre
diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c index f82111837b8d..265d51a948d4 100644 --- a/kernel/power/energy_model.c +++ b/kernel/power/energy_model.c @@ -240,10 +240,10 @@ static int em_create_pd(struct device *dev, int nr_states, return 0; } -static void em_cpufreq_update_efficiencies(struct device *dev) +static void +em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state *table) { struct em_perf_domain *pd = dev->em_pd; - struct em_perf_state *table; struct cpufreq_policy *policy; int found = 0; int i; @@ -257,8 +257,6 @@ static void em_cpufreq_update_efficiencies(struct device *dev) return; } - table = pd->table; - for (i = 0; i < pd->nr_perf_states; i++) { if (!(table[i].flags & EM_PERF_STATE_INEFFICIENT)) continue; @@ -400,7 +398,7 @@ int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states, dev->em_pd->flags |= flags; - em_cpufreq_update_efficiencies(dev); + em_cpufreq_update_efficiencies(dev, dev->em_pd->table); em_debug_create_pd(dev); dev_info(dev, "EM: created perf domain\n");