2024-02-27 02:44:16

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the edac tree

Hi all,

After merging the edac tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/ras/amd/atl/umc.c: In function 'get_die_id':
drivers/ras/amd/atl/umc.c:318:44: error: implicit declaration of function 'amd_get_nodes_per_socket' [-Werror=implicit-function-declaration]
318 | return topology_die_id(err->cpu) % amd_get_nodes_per_socket();
| ^~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

3f3174996be6 ("RAS: Introduce AMD Address Translation Library")

interacting with commit

c749ce393b8f ("x86/cpu: Use common topology code for AMD")

from the tip tree.

I applied the following merge resolution patch.

From: Stephen Rothwell <[email protected]>
Date: Tue, 27 Feb 2024 13:22:56 +1100
Subject: [PATCH] fix up for "RAS: Introduce AMD Address Translation Library"

interacting with "x86/cpu: Use common topology code for AMD"

Signed-off-by: Stephen Rothwell <[email protected]>
---
drivers/ras/amd/atl/umc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ras/amd/atl/umc.c b/drivers/ras/amd/atl/umc.c
index 08c6dbd44c62..65a0ab651ee2 100644
--- a/drivers/ras/amd/atl/umc.c
+++ b/drivers/ras/amd/atl/umc.c
@@ -315,7 +315,7 @@ static u8 get_die_id(struct atl_err *err)
* For CPUs, this is the AMD Node ID modulo the number
* of AMD Nodes per socket.
*/
- return topology_die_id(err->cpu) % amd_get_nodes_per_socket();
+ return topology_die_id(err->cpu) % topology_amd_nodes_per_pkg();
}

#define UMC_CHANNEL_NUM GENMASK(31, 20)
--
2.43.0

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2024-03-08 22:43:40

by Yazen Ghannam

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the edac tree

On 2/26/2024 9:43 PM, Stephen Rothwell wrote:
> Hi all,
>
> After merging the edac tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/ras/amd/atl/umc.c: In function 'get_die_id':
> drivers/ras/amd/atl/umc.c:318:44: error: implicit declaration of function 'amd_get_nodes_per_socket' [-Werror=implicit-function-declaration]
> 318 | return topology_die_id(err->cpu) % amd_get_nodes_per_socket();
> | ^~~~~~~~~~~~~~~~~~~~~~~~
>
> Caused by commit
>
> 3f3174996be6 ("RAS: Introduce AMD Address Translation Library")
>
> interacting with commit
>
> c749ce393b8f ("x86/cpu: Use common topology code for AMD")
>
> from the tip tree.
>
> I applied the following merge resolution patch.
>
> From: Stephen Rothwell <[email protected]>
> Date: Tue, 27 Feb 2024 13:22:56 +1100
> Subject: [PATCH] fix up for "RAS: Introduce AMD Address Translation Library"
>
> interacting with "x86/cpu: Use common topology code for AMD"
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> drivers/ras/amd/atl/umc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/ras/amd/atl/umc.c b/drivers/ras/amd/atl/umc.c
> index 08c6dbd44c62..65a0ab651ee2 100644
> --- a/drivers/ras/amd/atl/umc.c
> +++ b/drivers/ras/amd/atl/umc.c
> @@ -315,7 +315,7 @@ static u8 get_die_id(struct atl_err *err)
> * For CPUs, this is the AMD Node ID modulo the number
> * of AMD Nodes per socket.
> */
> - return topology_die_id(err->cpu) % amd_get_nodes_per_socket();
> + return topology_die_id(err->cpu) % topology_amd_nodes_per_pkg();

"topology_die_id -> topology_amd_node_id" is also needed.

Does this need to be fixed up in the RAS tree?

Thanks,
Yazen

2024-03-09 09:47:33

by Borislav Petkov

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the edac tree

On Fri, Mar 08, 2024 at 05:43:26PM -0500, Yazen Ghannam wrote:
> > diff --git a/drivers/ras/amd/atl/umc.c b/drivers/ras/amd/atl/umc.c
> > index 08c6dbd44c62..65a0ab651ee2 100644
> > --- a/drivers/ras/amd/atl/umc.c
> > +++ b/drivers/ras/amd/atl/umc.c
> > @@ -315,7 +315,7 @@ static u8 get_die_id(struct atl_err *err)
> > * For CPUs, this is the AMD Node ID modulo the number
> > * of AMD Nodes per socket.
> > */
> > - return topology_die_id(err->cpu) % amd_get_nodes_per_socket();
> > + return topology_die_id(err->cpu) % topology_amd_nodes_per_pkg();
>
> "topology_die_id -> topology_amd_node_id" is also needed.

Are you saying topology_die_id() was already wrong?

Because even before the topo rewrite, this was

- cpuinfo_x86.topo.die_id:

The physical ID of the die. This information is retrieved via CPUID.

while this code talks about the AMD node thing.

> Does this need to be fixed up in the RAS tree?

I'll give a diff to Linus when I send the pull request.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette

2024-03-11 13:07:10

by Yazen Ghannam

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the edac tree



On 3/9/2024 4:46 AM, Borislav Petkov wrote:
> On Fri, Mar 08, 2024 at 05:43:26PM -0500, Yazen Ghannam wrote:
>>> diff --git a/drivers/ras/amd/atl/umc.c b/drivers/ras/amd/atl/umc.c
>>> index 08c6dbd44c62..65a0ab651ee2 100644
>>> --- a/drivers/ras/amd/atl/umc.c
>>> +++ b/drivers/ras/amd/atl/umc.c
>>> @@ -315,7 +315,7 @@ static u8 get_die_id(struct atl_err *err)
>>> * For CPUs, this is the AMD Node ID modulo the number
>>> * of AMD Nodes per socket.
>>> */
>>> - return topology_die_id(err->cpu) % amd_get_nodes_per_socket();
>>> + return topology_die_id(err->cpu) % topology_amd_nodes_per_pkg();
>>
>> "topology_die_id -> topology_amd_node_id" is also needed.
>
> Are you saying topology_die_id() was already wrong?
>
> Because even before the topo rewrite, this was
>
> - cpuinfo_x86.topo.die_id:
>
> The physical ID of the die. This information is retrieved via CPUID.
>
> while this code talks about the AMD node thing.
>

We used to save AMD Node ID into topology_die_id() before the following:
03fa6bea5a3e ("x86/cpu: Make topology_amd_node_id() use the actual node info")

>> Does this need to be fixed up in the RAS tree?
>
> I'll give a diff to Linus when I send the pull request.
>

Thanks,
Yazen