smpboot: fix cachesize comparison in smp_tune_scheduling()
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 31 May 2007 14:55:16 +0000 (07:55 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 31 May 2007 14:55:16 +0000 (07:55 -0700)
Jarek Poplawski noted that boot_cpu_data.x86_cache_size is signed int
and can be < 0 too.

In fact we test for it. Except we assigned it to an unsigned value..

Cc: Jarek Poplawski <jarkao2@o2.pl>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andi Kleen <ak@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/i386/kernel/smpboot.c

index 08f07a74a9d3753184ab7a3096697eaac4d2cb98..88baed1e7e83a1469ecc33f1ed5e6e1c17a00af4 100644 (file)
@@ -943,10 +943,9 @@ exit:
 
 static void smp_tune_scheduling(void)
 {
-       unsigned long cachesize;       /* kB   */
-
        if (cpu_khz) {
-               cachesize = boot_cpu_data.x86_cache_size;
+               /* cache size in kB */
+               long cachesize = boot_cpu_data.x86_cache_size;
 
                if (cachesize > 0)
                        max_cache_size = cachesize * 1024;