Skip to contentSkip to conversation

x86: convert-cpuinfo_x86-array-to-a-per_cpu-array fix

PATCH In review [email protected] 3 participants 5 messages Oct 12, 2007 – Nov 20, 2007 Memory management

lore
Share & tools
lore
#0 lore raw

cover x86: convert-cpuinfo_x86-array-to-a-per_cpu-array fix

This fix corrects the problem that early_identify_cpu() sets cpu_index to '0' (needed when called by setup_arch) after smp_store_cpu_info() had set it to the correct value.

Thanks to Suresh for discovering this problem.

Signature · 5 lines
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
#1 lore raw

PATCH 1/1 x86: convert-cpuinfo_x86-array-to-a-per_cpu-array fix

This fix corrects the problem that early_identify_cpu() sets cpu_index to '0' (needed when called by setup_arch) after smp_store_cpu_info() had set it to the correct value.

---
 arch/x86_64/kernel/smpboot.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86_64/kernel/smpboot.c +1 -1
@@ -141,8 +141,8 @@ static void __cpuinit smp_store_cpu_info
 	struct cpuinfo_x86 *c = &cpu_data(id);
 
 	*c = boot_cpu_data;
-	c->cpu_index = id;
 	identify_cpu(c);
+	c->cpu_index = id;
 	print_cpu_info(c);
 }
 
Signature · 5 lines
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
#2 lore raw
Quoted 12 lines · On 10/12/07, [email protected] <[email protected]> wrote:

This fix corrects the problem that early_identify_cpu() sets cpu_index to '0' (needed when called by setup_arch) after smp_store_cpu_info() had set it to the correct value.

---
 arch/x86_64/kernel/smpboot.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

arch/x86_64/kernel/smpboot.c 2007-10-12 14:53:42.753508152 -0700 static void __cpuinit smp_store_cpu_info · line 148

Quoted 9 lines
arch/x86_64/kernel/smpboot.c 2007-10-12 14:53:42.753508152 -0700 renamed from arch/x86_64/kernel/smpboot.c 2007-10-12 14:28:45.000000000 -0700 +1 -1
@@ -141,8 +141,8 @@ static void __cpuinit smp_store_cpu_info
        struct cpuinfo_x86 *c = &cpu_data(id);
 
        *c = boot_cpu_data;
-       c->cpu_index = id;
        identify_cpu(c);
+       c->cpu_index = id;
        print_cpu_info(c);
 }
 

why not removing assignment in early_identify_cpu?

YH

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#3 lore raw
In reply to [email protected]

Hi Andrew,

It appears that this patch is missing from the latest 2.6.24 git kernel?

(Suresh noticed that it is still a problem.)

Thanks,
Mike

This fix corrects the problem that early_identify_cpu() sets cpu_index to '0' (needed when called by setup_arch) after smp_store_cpu_info() had set it to the correct value.

---
 arch/x86_64/kernel/smpboot.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86_64/kernel/smpboot.c +1 -1
@@ -141,8 +141,8 @@ static void __cpuinit smp_store_cpu_info
 	struct cpuinfo_x86 *c = &cpu_data(id);
 
 	*c = boot_cpu_data;
-	c->cpu_index = id;
 	identify_cpu(c);
+	c->cpu_index = id;
 	print_cpu_info(c);
 }
 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#4 lore raw
Quoted 21 lines · Mike Travis

Hi Andrew,

It appears that this patch is missing from the latest 2.6.24 git kernel?

(Suresh noticed that it is still a problem.)

Thanks,
Mike

This fix corrects the problem that early_identify_cpu() sets cpu_index to '0' (needed when called by setup_arch) after smp_store_cpu_info() had set it to the correct value.

---
 arch/x86_64/kernel/smpboot.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

arch/x86_64/kernel/smpboot.c static void __cpuinit smp_store_cpu_info · line 147

Quoted 8 lines
arch/x86_64/kernel/smpboot.c +1 -1
@@ -141,8 +141,8 @@ static void __cpuinit smp_store_cpu_info
 	struct cpuinfo_x86 *c = &cpu_data(id);
 
 	*c = boot_cpu_data;
-	c->cpu_index = id;
 	identify_cpu(c);
+	c->cpu_index = id;
 	print_cpu_info(c);
 }

The correct fix is already in mainline:

commit 699d934d5f958d7944d195c03c334f28cc0b3669

tglx

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>