Commit ba0c0410 authored by Helge Deller's avatar Helge Deller

Revert "parisc: Increase parisc_cache_flush_threshold setting"

This reverts commit a58e9d09.

Triggers segfaults with 32-bit kernels on PA8500 machines.
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 340233dc
...@@ -403,7 +403,7 @@ void __init parisc_setup_cache_timing(void) ...@@ -403,7 +403,7 @@ void __init parisc_setup_cache_timing(void)
{ {
unsigned long rangetime, alltime; unsigned long rangetime, alltime;
unsigned long size; unsigned long size;
unsigned long threshold, threshold2; unsigned long threshold;
alltime = mfctl(16); alltime = mfctl(16);
flush_data_cache(); flush_data_cache();
...@@ -418,20 +418,8 @@ void __init parisc_setup_cache_timing(void) ...@@ -418,20 +418,8 @@ void __init parisc_setup_cache_timing(void)
alltime, size, rangetime); alltime, size, rangetime);
threshold = L1_CACHE_ALIGN(size * alltime / rangetime); threshold = L1_CACHE_ALIGN(size * alltime / rangetime);
if (threshold > cache_info.dc_size)
/* threshold = cache_info.dc_size;
* The threshold computed above isn't very reliable since the
* flush times depend greatly on the percentage of dirty lines
* in the flush range. Further, the whole cache time doesn't
* include the time to refill lines that aren't in the mm/vma
* being flushed. By timing glibc build and checks on mako cpus,
* the following formula seems to work reasonably well. The
* value from the timing calculation is too small, and increases
* build and check times by almost a factor two.
*/
threshold2 = cache_info.dc_size * num_online_cpus();
if (threshold2 > threshold)
threshold = threshold2;
if (threshold) if (threshold)
parisc_cache_flush_threshold = threshold; parisc_cache_flush_threshold = threshold;
printk(KERN_INFO "Cache flush threshold set to %lu KiB\n", printk(KERN_INFO "Cache flush threshold set to %lu KiB\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment