diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-18 22:06:10 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-18 22:06:10 +0000 |
commit | aba4e552a2f2c1492441acbccedd8e0a4c53f916 (patch) | |
tree | 23921efb2b4af590160f034a89ff3da2ecca6e47 /arch/i386 | |
parent | 9e17e1aa1cf1cb497d2f67147a51831888affcf3 (diff) |
Merge with Linux 2.3.43.
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/config.in | 2 | ||||
-rw-r--r-- | arch/i386/kernel/smpboot.c | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/arch/i386/config.in b/arch/i386/config.in index 0dda4d49f..2377c24b7 100644 --- a/arch/i386/config.in +++ b/arch/i386/config.in @@ -22,7 +22,7 @@ choice 'Processor family' \ 586/K5/5x86/6x86 CONFIG_M586 \ Pentium/TSC CONFIG_M586TSC \ PPro/6x86MX CONFIG_M686 \ - K6/II/II CONFIG_MK6 \ + K6/II/III CONFIG_MK6 \ Athlon CONFIG_MK7" PPro # # Define implied options from the CPU selection here diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 3ff5cc002..50b743a99 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c @@ -710,7 +710,8 @@ extern unsigned long cpu_hz; static void smp_tune_scheduling (void) { - unsigned long cachesize; + unsigned long cachesize; /* kB */ + unsigned long bandwidth = 350; /* MB/s */ /* * Rough estimation for SMP scheduling, this is the number of * cycles it takes for a fully memory-limited process to flush @@ -731,10 +732,12 @@ static void smp_tune_scheduling (void) return; } else { cachesize = boot_cpu_data.x86_cache_size; - if (cachesize == -1) - cachesize = 8; /* Pentiums */ + if (cachesize == -1) { + cachesize = 16; /* Pentiums, 2x8kB cache */ + bandwidth = 100; + } - cacheflush_time = cpu_hz/1024*cachesize/5000; + cacheflush_time = (cpu_hz>>20) * (cachesize<<10) / bandwidth; } printk("per-CPU timeslice cutoff: %ld.%02ld usecs.\n", |