Re: [PATCH v2 1/2] x86/amd: Refactor topology extension related code

From: Borislav Petkov
Date: Sat Jul 22 2017 - 12:13:06 EST


On Fri, Jul 21, 2017 at 09:00:38PM -0500, Suravee Suthikulpanit wrote:
> Refactoring in preparation for subsequent changes.
> There is no functional change.
>
> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> ---
> arch/x86/kernel/cpu/amd.c | 79 ++++++++++++++++++++++++++---------------------
> 1 file changed, 44 insertions(+), 35 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index bb5abe8..74d8d7c 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -297,54 +297,63 @@ static int nearby_node(int apicid)
> #endif
>
> /*
> - * Fixup core topology information for
> - * (1) AMD multi-node processors
> - * Assumption: Number of cores in each internal node is the same.
> - * (2) AMD processors supporting compute units
> + * Get topology information via X86_FEATURE_TOPOEXT
> */
> -#ifdef CONFIG_SMP
> -static void amd_get_topology(struct cpuinfo_x86 *c)
> +static void __get_topoext(struct cpuinfo_x86 *c)
> {
> - u8 node_id;
> + u32 eax, ebx, ecx, edx;
> int cpu = smp_processor_id();
>
> - /* get information required for multi-node processors */
> - if (boot_cpu_has(X86_FEATURE_TOPOEXT)) {
> - u32 eax, ebx, ecx, edx;
> + cpuid(0x8000001e, &eax, &ebx, &ecx, &edx);
>
> - cpuid(0x8000001e, &eax, &ebx, &ecx, &edx);
> + smp_num_siblings = ((ebx >> 8) & 0xff) + 1;
>
> - node_id = ecx & 0xff;

When reviewers ask you about a preparatory cleanup patch, you don't
sneak in changes in it - you *only* *move* the code so that the change
is *absolutely* comprehensible. Ontop you do changes. Don't tell me you
didn't know that!

Try again.

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--