Loading arch/parisc/kernel/cache.c +3 −15 Original line number Diff line number Diff line Loading @@ -403,7 +403,7 @@ void __init parisc_setup_cache_timing(void) { unsigned long rangetime, alltime; unsigned long size; unsigned long threshold, threshold2; unsigned long threshold; alltime = mfctl(16); flush_data_cache(); Loading @@ -418,20 +418,8 @@ void __init parisc_setup_cache_timing(void) alltime, size, rangetime); threshold = L1_CACHE_ALIGN(size * alltime / rangetime); /* * 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 > cache_info.dc_size) threshold = cache_info.dc_size; if (threshold) parisc_cache_flush_threshold = threshold; printk(KERN_INFO "Cache flush threshold set to %lu KiB\n", Loading Loading
arch/parisc/kernel/cache.c +3 −15 Original line number Diff line number Diff line Loading @@ -403,7 +403,7 @@ void __init parisc_setup_cache_timing(void) { unsigned long rangetime, alltime; unsigned long size; unsigned long threshold, threshold2; unsigned long threshold; alltime = mfctl(16); flush_data_cache(); Loading @@ -418,20 +418,8 @@ void __init parisc_setup_cache_timing(void) alltime, size, rangetime); threshold = L1_CACHE_ALIGN(size * alltime / rangetime); /* * 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 > cache_info.dc_size) threshold = cache_info.dc_size; if (threshold) parisc_cache_flush_threshold = threshold; printk(KERN_INFO "Cache flush threshold set to %lu KiB\n", Loading