2006-08-03 18:32:27

by Dave Jones

[permalink] [raw]
Subject: don't taint UP K7's running SMP kernels.

We have a test that looks for invalid pairings of certain athlon/durons
that weren't designed for SMP, and taint accordingly (with 'S') if we find
such a configuration. However, this test shouldn't fire if there's only
a single CPU present. It's perfectly valid for an SMP kernel to boot on UP
hardware for example.

Signed-off-by: Dave Jones <[email protected]>

--- linux-2.6/arch/i386/kernel/smpboot.c~ 2006-08-03 14:29:47.000000000 -0400
+++ linux-2.6/arch/i386/kernel/smpboot.c 2006-08-03 14:30:43.000000000 -0400
@@ -177,6 +177,9 @@ static void __devinit smp_store_cpu_info
*/
if ((c->x86_vendor == X86_VENDOR_AMD) && (c->x86 == 6)) {

+ if (num_online_cpus() == 1)
+ goto valid_k7;
+
/* Athlon 660/661 is valid. */
if ((c->x86_model==6) && ((c->x86_mask==0) || (c->x86_mask==1)))
goto valid_k7;
--
http://www.codemonkey.org.uk


2006-08-03 20:45:16

by Alan

[permalink] [raw]
Subject: Re: don't taint UP K7's running SMP kernels.

Ar Iau, 2006-08-03 am 14:32 -0400, ysgrifennodd Dave Jones:
> We have a test that looks for invalid pairings of certain athlon/durons
> that weren't designed for SMP, and taint accordingly (with 'S') if we find
> such a configuration. However, this test shouldn't fire if there's only
> a single CPU present. It's perfectly valid for an SMP kernel to boot on UP
> hardware for example.
>
> Signed-off-by: Dave Jones <[email protected]>
>
> --- linux-2.6/arch/i386/kernel/smpboot.c~ 2006-08-03 14:29:47.000000000 -0400
> +++ linux-2.6/arch/i386/kernel/smpboot.c 2006-08-03 14:30:43.000000000 -0400
> @@ -177,6 +177,9 @@ static void __devinit smp_store_cpu_info
> */
> if ((c->x86_vendor == X86_VENDOR_AMD) && (c->x86 == 6)) {
>
> + if (num_online_cpus() == 1)
> + goto valid_k7;
> +
> /* Athlon 660/661 is valid. */
> if ((c->x86_model==6) && ((c->x86_mask==0) || (c->x86_mask==1)))
> goto valid_k7;

Acked-by: Alan Cox <[email protected]>


2006-08-04 00:53:16

by Andi Kleen

[permalink] [raw]
Subject: Re: don't taint UP K7's running SMP kernels.

Dave Jones <[email protected]> writes:

> We have a test that looks for invalid pairings of certain athlon/durons
> that weren't designed for SMP, and taint accordingly (with 'S') if we find
> such a configuration. However, this test shouldn't fire if there's only
> a single CPU present. It's perfectly valid for an SMP kernel to boot on UP
> hardware for example.

I added it to the x86-64 tree.

-Andi

2006-08-04 00:55:22

by Andi Kleen

[permalink] [raw]
Subject: Re: don't taint UP K7's running SMP kernels. II

Dave Jones <[email protected]> writes:

> We have a test that looks for invalid pairings of certain athlon/durons
> that weren't designed for SMP, and taint accordingly (with 'S') if we find
> such a configuration. However, this test shouldn't fire if there's only
> a single CPU present. It's perfectly valid for an SMP kernel to boot on UP
> hardware for example.

Actually the test should be for num_possible_cpus() I fixed this.

-Andi