> From: Hugh Dickins [mailto:hughd@xxxxxxxxxx] > Sent: Monday, May 30, 2011 6:36 PM > To: Andrew Morton > Cc: Dan Magenheimer; linux-kernel@xxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx > Subject: [PATCH 1/14] mm: invalidate_mapping_pages flush cleancache > > truncate_inode_pages_range() and invalidate_inode_pages2_range() > call cleancache_flush_inode(mapping) before and after: shouldn't > invalidate_mapping_pages() be doing the same? > > Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> > --- > mm/truncate.c | 2 ++ > 1 file changed, 2 insertions(+) > > --- linux.orig/mm/truncate.c 2011-05-30 13:56:10.416798124 -0700 > +++ linux/mm/truncate.c 2011-05-30 14:08:46.612547848 -0700 > @@ -333,6 +333,7 @@ unsigned long invalidate_mapping_pages(s > unsigned long count = 0; > int i; > > + cleancache_flush_inode(mapping); > pagevec_init(&pvec, 0); > while (next <= end && > pagevec_lookup(&pvec, mapping, next, PAGEVEC_SIZE)) { > @@ -373,6 +374,7 @@ unsigned long invalidate_mapping_pages(s > mem_cgroup_uncharge_end(); > cond_resched(); > } > + cleancache_flush_inode(mapping); > return count; > } > EXPORT_SYMBOL(invalidate_mapping_pages); Hi Hugh -- I don't claim to be an expert on VFS, and so I have cc'ed Chris Mason who originally placed the cleancache hooks in VFS, but I think this patch is unnecessary. Instead of flushing ALL of the cleancache pages belonging to the inode with cleancache_flush_inode, the existing code eventually calls __delete_from_page_cache on EACH page that is being invalidated. And since __delete_from_page_cache calls cleancache_flush_page, only that subset of pages in the mapping that invalidate_mapping_pages() would invalidate (which, from the comment above the routine indicates, is only *unlocked* pages) is removed from cleancache. However, there may be some path through VFS I am missing or something else subtle I am misunderstanding so please clarify if either is true. Thanks, Dan --- Thanks... for the memory! I really could use more / my throughput's on the floor The balloon is flat / my swap disk's fat / I've OOM's in store Overcommitted so much (with apologies to Bob Hope) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href