ARC: [mm] optimise VIPT dcache aliasing 2/x
authorVineet Gupta <vgupta@synopsys.com>
Thu, 23 May 2013 06:32:00 +0000 (12:02 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Sat, 22 Jun 2013 13:53:19 +0000 (19:23 +0530)
Non-congruent SRC page in copy_user_page() is dcache clean in the end -
so record that fact, to avoid a subsequent extraneous flush.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/mm/cache_arc700.c

index 4e54ef5b4c2a4f8ffeee286a7e06b04676abc046..074658704d8682199688cd4f1fcf1f0123cb5141 100644 (file)
@@ -742,6 +742,7 @@ void copy_user_highpage(struct page *to, struct page *from,
         */
        if (clean_src_k_mappings) {
                __flush_dcache_page(kfrom, kfrom);
+               clear_bit(PG_arch_1, &from->flags);
        } else {
                set_bit(PG_arch_1, &from->flags);
        }