Re: [PATCH v3 06/12] PM: EM: Refactor struct em_perf_domain and add default_table

From: Lukasz Luba
Date: Mon Aug 21 2023 - 11:22:03 EST


Hi Dietmar,

On 8/16/23 14:04, Dietmar Eggemann wrote:
On 21/07/2023 17:50, Lukasz Luba wrote:
The Energy Model is going to support runtime modifications. Refactor old
implementation which accessed struct em_perf_state and introduce
em_perf_domain::default_table to clean up the design. This new field
will help to better distinguish 2 performance state tables.

Update all drivers or frameworks which used the old field:
em_perf_domain::table and now should use em_perf_domain::default_table.


This doesn't compile:

SYNC include/config/auto.conf.cmd
UPD include/config/kernel.release
UPD include/generated/utsrelease.h
CC arch/arm64/kernel/asm-offsets.s
In file included from ./include/linux/device.h:16,
from ./include/linux/acpi.h:14,
from ./include/acpi/apei.h:9,
from ./include/acpi/ghes.h:5,
from ./include/linux/arm_sdei.h:8,
from arch/arm64/kernel/asm-offsets.c:10:
./include/linux/energy_model.h: In function ‘em_cpu_energy’:
./include/linux/energy_model.h:256:10: error: ‘struct em_perf_domain’ has no member named ‘table’
256 | ps = &pd->table[pd->nr_perf_states - 1];
| ^~
./include/linux/energy_model.h:266:34: error: ‘struct em_perf_domain’ has no member named ‘table’
266 | i = em_pd_get_efficient_state(pd->table, pd->nr_perf_states, freq,
| ^~
./include/linux/energy_model.h:268:10: error: ‘struct em_perf_domain’ has no member named ‘table’
268 | ps = &pd->table[i];
| ^~
make[2]: *** [scripts/Makefile.build:116: arch/arm64/kernel/asm-offsets.s] Error 1
make[1]: *** [/opt/git/kernel_org/Makefile:1275: prepare0] Error 2
make: *** [Makefile:234: __sub-make] Error 2

In v2 this patch was much later in the set.




Yes, you are right. It didn't trigger somehow in my build testing
probably due to my ccache or missed step and built+test the whole set.
My apologies for that, I'll double check that next time.

Regards,
Lukasz