On Tue, May 25, 2021 at 09:33:01AM +0000, Quentin Perret wrote:
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.
Wouldn't add any new field compared to this version so yeah might be an
interesting improvement.