Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: cache alias in mmap + write | Date | Wed, 20 Jan 2010 18:10:11 +0900 (JST) |
| |
Hello,
> diff --git a/mm/filemap.c b/mm/filemap.c > index 96ac6b0..07056fb 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2196,6 +2196,9 @@ again: > if (unlikely(status)) > break; > > + if (mapping_writably_mapped(mapping)) > + flush_dcache_page(page); > + > pagefault_disable(); > copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); > pagefault_enable();
I'm not sure ARM cache coherency model. but I guess correct patch is here.
+ if (mapping_writably_mapped(mapping)) + flush_dcache_page(page); + pagefault_disable(); copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); pagefault_enable(); - flush_dcache_page(page);
Why do we need to call flush_dcache_page() twice?
| |