2022-08-18 19:48:06

by Randy Dunlap

[permalink] [raw]
Subject: Re: build failure of next-20220817 for amdgpu due to 7bc913085765 ("drm/amdkfd: Try to schedule bottom half on same core")

Hi--

On 8/18/22 12:15, Sudip Mukherjee wrote:
> On Thu, Aug 18, 2022 at 4:10 PM Randy Dunlap <[email protected]> wrote:
>>
>>
>>
>> On 8/18/22 03:43, Sudip Mukherjee wrote:
>>> On Thu, Aug 18, 2022 at 3:09 AM Randy Dunlap <[email protected]> wrote:
>>>>
>>>>
>>>>
>>>> On 8/17/22 19:01, Alex Deucher wrote:
>>>>> On Wed, Aug 17, 2022 at 6:03 PM Sudip Mukherjee (Codethink)
>>>>> <[email protected]> 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


2022-08-19 18:35:31

by Felix Kuehling

[permalink] [raw]
Subject: Re: build failure of next-20220817 for amdgpu due to 7bc913085765 ("drm/amdkfd: Try to schedule bottom half on same core")

On 2022-08-18 15:34, Randy Dunlap wrote:
> Hi--
>
> On 8/18/22 12:15, Sudip Mukherjee wrote:
>> On Thu, Aug 18, 2022 at 4:10 PM Randy Dunlap <[email protected]> wrote:
>>>
>>> On 8/18/22 03:43, Sudip Mukherjee wrote:
>>>> On Thu, Aug 18, 2022 at 3:09 AM Randy Dunlap <[email protected]> wrote:
>>>>>
>>>>> On 8/17/22 19:01, Alex Deucher wrote:
>>>>>> On Wed, Aug 17, 2022 at 6:03 PM Sudip Mukherjee (Codethink)
>>>>>> <[email protected]> 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.

I'm not sure where I would need to submit this. And I'm not familiar
with Powerpc code at all. I'm OK if you submit this wherever it needs to go.

Thanks,
  Felix


>
>
> ---
> 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);
>
>