summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-31 14:55:16 (GMT)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-31 14:55:16 (GMT)
commit8387c1a46376b8cfc5f4751b27a6c90f930992cf (patch)
treebdb1553b17a20fe2dcd928d5aec1d20789760e20
parenta2b7d2e97edcad0e95ae0d3c253d3f2f69254fa4 (diff)
downloadlinux-8387c1a46376b8cfc5f4751b27a6c90f930992cf.tar.xz
smpboot: fix cachesize comparison in smp_tune_scheduling()
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>
-rw-r--r--arch/i386/kernel/smpboot.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index 08f07a7..88baed1 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -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;