diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-05-23 02:32:00 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-06-22 09:53:19 -0400 |
commit | fedf5b9bafca5cd8af99993d1b9cfd13c1dc2c5b (patch) | |
tree | 9b413918b5e891698819e55ba4cf30a625e65a69 /arch/arc | |
parent | 5971bc719d1e329401412ae03ab83c2e4768cd2e (diff) |
ARC: [mm] optimise VIPT dcache aliasing 2/x
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>
Diffstat (limited to 'arch/arc')
-rw-r--r-- | arch/arc/mm/cache_arc700.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arc/mm/cache_arc700.c b/arch/arc/mm/cache_arc700.c index 4e54ef5b4c2a..074658704d86 100644 --- a/arch/arc/mm/cache_arc700.c +++ b/arch/arc/mm/cache_arc700.c | |||
@@ -742,6 +742,7 @@ void copy_user_highpage(struct page *to, struct page *from, | |||
742 | */ | 742 | */ |
743 | if (clean_src_k_mappings) { | 743 | if (clean_src_k_mappings) { |
744 | __flush_dcache_page(kfrom, kfrom); | 744 | __flush_dcache_page(kfrom, kfrom); |
745 | clear_bit(PG_arch_1, &from->flags); | ||
745 | } else { | 746 | } else { |
746 | set_bit(PG_arch_1, &from->flags); | 747 | set_bit(PG_arch_1, &from->flags); |
747 | } | 748 | } |