Hi-- On 8/18/22 12:15, Sudip Mukherjee wrote: > On Thu, Aug 18, 2022 at 4:10 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: >> >> >> >> On 8/18/22 03:43, Sudip Mukherjee wrote: >>> On Thu, Aug 18, 2022 at 3:09 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: >>>> >>>> >>>> >>>> On 8/17/22 19:01, Alex Deucher wrote: >>>>> On Wed, Aug 17, 2022 at 6:03 PM Sudip Mukherjee (Codethink) >>>>> <sudipm.mukherjee@xxxxxxxxx> wrote: >>>>>> >>>>>> Hi All, >>>>>> >>>>>> Not sure if it has been reported, build of next-20220817 fails with the >>>>>> error: >>>>>> >>>>>> ERROR: modpost: "cpu_smallcore_map" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined! >>>>>> >>>>>> Trying to do a git bisect to find out the offending commit. >>>>>> >>>>> >>>>> Thanks. I don't see that symbol in the driver at all. Not sure where >>>>> it is coming from. >>>>> >>>> >>>> It's powerpc only. >>>> >>>> Sudip, is it non-CONFIG_SMP by any chance? >>> >>> Ohhh.. really sorry for the incomplete report. I should not try to >>> mail while travelling. >>> >>> The error is seen with powerpc allmodconfig and it has CONFIG_SMP=y. >> >> OK, I see that also, but it doesn't make any sense (to me). >> >> I did 'objdump' on the code file (amdgpu.o) and it's listed as >> undefined but there are no code references to it. > > cpu_smt_mask() is called by drivers/gpu/drm/amd/amdkfd/kfd_device.c. > and cpu_smt_mask() is an inline function in > arch/powerpc/include/asm/smp.h which is doing "return > per_cpu(cpu_smallcore_map, cpu);" > > So, the offending commit is 7bc913085765 ("drm/amdkfd: Try to schedule > bottom half on same core"). Thanks for digging that up. It just needs to have that symbol exported I think. This builds cleanly now. I can submit it or one of the AMD gfx developers can do so. --- arch/powerpc/kernel/smp.c | 1 + 1 file changed, 1 insertion(+) --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c @@ -86,6 +86,7 @@ DEFINE_PER_CPU(cpumask_var_t, cpu_core_m static DEFINE_PER_CPU(cpumask_var_t, cpu_coregroup_map); EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); +EXPORT_PER_CPU_SYMBOL(cpu_smallcore_map); EXPORT_PER_CPU_SYMBOL(cpu_l2_cache_map); EXPORT_PER_CPU_SYMBOL(cpu_core_map); EXPORT_SYMBOL_GPL(has_big_cores); -- ~Randy