diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-05-23 12:02:00 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-06-22 19:23:19 +0530 |
commit | fedf5b9bafca5cd8af99993d1b9cfd13c1dc2c5b (patch) | |
tree | 9b413918b5e891698819e55ba4cf30a625e65a69 /arch/arc | |
parent | 5971bc719d1e329401412ae03ab83c2e4768cd2e (diff) | |
download | blackbird-op-linux-fedf5b9bafca5cd8af99993d1b9cfd13c1dc2c5b.tar.gz blackbird-op-linux-fedf5b9bafca5cd8af99993d1b9cfd13c1dc2c5b.zip |
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, */ 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); } |