|
@@ -327,6 +327,12 @@ void flush_dcache_page(struct page *page)
|
|
if (page == ZERO_PAGE(0))
|
|
if (page == ZERO_PAGE(0))
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ if (!cache_ops_need_broadcast() && cache_is_vipt_nonaliasing()) {
|
|
|
|
+ if (test_bit(PG_dcache_clean, &page->flags))
|
|
|
|
+ clear_bit(PG_dcache_clean, &page->flags);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
mapping = page_mapping(page);
|
|
mapping = page_mapping(page);
|
|
|
|
|
|
if (!cache_ops_need_broadcast() &&
|
|
if (!cache_ops_need_broadcast() &&
|