From: NIIBE Y. <gn...@m1...> - 2001-12-05 00:54:03
|
Jeremy Siegel wrote: > drivers/net/8139too.c: Will look into. > mm/memory.c: > There were two places where the SH code ifdef'd out cache flush calls > for performance, noting in comments that a VIPT cache doesn't require > them. The second of these was in do_wp_page(), and the code changed > enough that I chose NOT to ifdef out that flush call, since I wasn't > sure if the conditions that made it unnecessary still applied. VIPT: Virtually Indexed Phisically Tagged cache. For break_cow, we don't need to flush the cache. On some architecture where permission informatipn is there, we need to flush it because it was read-only before. But it's not the case for SuperH. If you want, please try to enable the flushing and see how the performance going down. For the case of do_wp_page, I think conditions still are applied. The logic is same as break_cow. On some architecture (not SuperH), it is needed, or else, the fault occurs again and again. > The other places where SH tweaks common code is a few insertions of > cache flush calls; include/linux/highmem.h:memclear_highpage_flush() and > kernel/ptrace.c:access_one_page() both add flush_dcache_page(page) right > before flush_page_to_ram(page). And drivers/block/rd.c:initrd_read() > adds flush_cache_all() right after a copy_to_user() call. I left all > these alone, assuming they're still necessary (cache aliasing issue?) > but Niibe may want them removed if they're no longer necessary? Those are paranoia things which can be removed. -- |