We still have this stuff in flush_cache_mm(): /* * Kludge alert. For obscure reasons R4000SC and R4400SC go nuts if we * only flush the primary caches but R10000 and R12000 behave sane ... */ if (current_cpu_data.cputype == CPU_R4000SC || current_cpu_data.cputype == CPU_R4000MC || current_cpu_data.cputype == CPU_R4400SC || current_cpu_data.cputype == CPU_R4400MC) r4k_blast_scache(); You have any idea what might make this necessary? This slows down SC systems quite badly but makes the compiler from eleminating the call to r4k_blast_scache() on systems that don't have one of these processors. Could be kludged a bit by also testing cpu_has_subset_pcaches() but that'd be a hack. Ralf