Hi Lukasz,
I love your patch! Yet something to improve:
[auto build test ERROR on driver-core/driver-core-testing]
[also build test ERROR on rostedt-trace/for-next linus/master linux/master v5.18-rc3 next-20220419]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Lukasz-Luba/arch_topology-Trace-the-update-thermal-pressure/20220420-005845
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git 3123109284176b1532874591f7c81f3837bbdc17
config: riscv-randconfig-c024-20220420 (https://download.01.org/0day-ci/archive/20220420/[email protected]/config)
compiler: riscv64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/aeff700a88be6a7469acfc312155bd213f76de95
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Lukasz-Luba/arch_topology-Trace-the-update-thermal-pressure/20220420-005845
git checkout aeff700a88be6a7469acfc312155bd213f76de95
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
All errors (new ones prefixed by >>):
riscv64-linux-ld: drivers/base/arch_topology.o: in function `.L18':
>> arch_topology.c:(.text+0x136): undefined reference to `__traceiter_thermal_pressure_update'
riscv64-linux-ld: drivers/base/arch_topology.o: in function `.L20':
>> arch_topology.c:(.text+0x168): undefined reference to `__tracepoint_thermal_pressure_update'
>> riscv64-linux-ld: arch_topology.c:(.text+0x16c): undefined reference to `__tracepoint_thermal_pressure_update'
riscv64-linux-ld: drivers/base/arch_topology.o: in function `.L0 ':
>> arch_topology.c:(__jump_table+0x8): undefined reference to `__tracepoint_thermal_pressure_update'
--
0-DAY CI Kernel Test Service
https://01.org/lkp
On 4/20/22 09:34, kernel test robot wrote:
> Hi Lukasz,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on driver-core/driver-core-testing]
> [also build test ERROR on rostedt-trace/for-next linus/master linux/master v5.18-rc3 next-20220419]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Lukasz-Luba/arch_topology-Trace-the-update-thermal-pressure/20220420-005845
> base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git 3123109284176b1532874591f7c81f3837bbdc17
> config: riscv-randconfig-c024-20220420 (https://download.01.org/0day-ci/archive/20220420/[email protected]/config)
> compiler: riscv64-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://github.com/intel-lab-lkp/linux/commit/aeff700a88be6a7469acfc312155bd213f76de95
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Lukasz-Luba/arch_topology-Trace-the-update-thermal-pressure/20220420-005845
> git checkout aeff700a88be6a7469acfc312155bd213f76de95
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
> riscv64-linux-ld: drivers/base/arch_topology.o: in function `.L18':
>>> arch_topology.c:(.text+0x136): undefined reference to `__traceiter_thermal_pressure_update'
> riscv64-linux-ld: drivers/base/arch_topology.o: in function `.L20':
>>> arch_topology.c:(.text+0x168): undefined reference to `__tracepoint_thermal_pressure_update'
>>> riscv64-linux-ld: arch_topology.c:(.text+0x16c): undefined reference to `__tracepoint_thermal_pressure_update'
> riscv64-linux-ld: drivers/base/arch_topology.o: in function `.L0 ':
>>> arch_topology.c:(__jump_table+0x8): undefined reference to `__tracepoint_thermal_pressure_update'
>
I've reproduced this issue and experimented with a few solutions.
that config file doesn't set CONFIG_THERMAL, where normally we have
in thermal_core.c the:
24 #define CREATE_TRACE_POINTS
25 #include <trace/events/thermal.h>
(similar mechanism we have for thermal_power_allocator.h and IPA.)
We normally test w/ this config, but I'll also start checking the build
w/o thermal subsystem.
I cannot add those two lines in the arch_topology.c since it complains
about multiple definitions for many entries.
Thus, I'll create a separate header thermal_pressure.h to put it in the
arch_topology.c.
I'll also export the symbol as suggested by Steve, so some potential
cpufreq modules could just us it from there.
I'll also re-visit the trace events that we have in thermal subsystem,
since they are not exported but some modules might would like
to use (some of) them...
Regards,
Lukasz