On Wed, Oct 17, 2007 at 01:13:49AM +0900, Atsushi Nemoto wrote: > On Tue, 16 Oct 2007 16:38:06 +0100, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote: > > > Hmm, setting SetPageDcacheDirty() will not make sure the modified data > > > flushed before reading via the kernel mapping. The flush_dcache_page() > > > should be used for such case, shouldn't it? > > > > You're right - and the intent is to _not_ flush the page. But we're > > bringing it into the cache, so we better flush it before it will be mapped > > to userspace. We want to delay the flush operation. > > I see, but I'm afraid of unnecessary flushing might hide another > bug... > > Setting SetPageDcacheDirty() for non-modified page looks a bit > overkill for me. For example, in copy_user_highpage() we do not flush > the source page if the page was not mapped to userspace. kunmap_atomic() is supposed to deal with that. It doesn't quite on the MIPS implementation so the kernel refuses highmem with aliasing caches. Ralf