[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YKzETaPD/Flnz+dz@google.com>
Date: Tue, 25 May 2021 09:33:01 +0000
From: Quentin Perret <qperret@...gle.com>
To: Vincent Donnefort <vincent.donnefort@....com>
Cc: peterz@...radead.org, rjw@...ysocki.net, viresh.kumar@...aro.org,
vincent.guittot@...aro.org, linux-kernel@...r.kernel.org,
ionela.voinescu@....com, lukasz.luba@....com,
dietmar.eggemann@....com
Subject: Re: [PATCH v2 3/3] PM / EM: Skip inefficient OPPs
On Friday 21 May 2021 at 17:54:24 (+0100), Vincent Donnefort wrote:
> @@ -161,6 +162,8 @@ static int em_create_perf_table(struct device *dev, struct em_perf_domain *pd,
> table[i].cost = div64_u64(fmax * table[i].power,
> table[i].frequency);
> if (table[i].cost >= prev_cost) {
> + table[i].flags = EM_PERF_STATE_INEFFICIENT;
> + pd->flags |= EM_PERF_DOMAIN_INEFFICIENCIES;
If we're looking for micro-optimizations, then perhaps you could store
the index of the next efficient OPP (which would be 'i' if the current
OPP is already efficient), so you can jump to it directly when doing the
search.
> dev_dbg(dev, "EM: OPP:%lu is inefficient\n",
> table[i].frequency);
> } else {
Powered by blists - more mailing lists