diff options
author | Jan Kara <jack@suse.cz> | 2017-11-15 20:37:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-15 21:21:06 -0500 |
commit | 2300638b124645c26d082dbb57841878202ff6f7 (patch) | |
tree | 12b3bce371329c55fdbaf77b6a9cfc9d148c0e39 /mm/filemap.c | |
parent | 76253fbc8fbf6018401755fc5c07814a837cc832 (diff) |
mm: move clearing of page->mapping to page_cache_tree_delete()
Clearing of page->mapping makes sense in page_cache_tree_delete() as
well and it will help us with batching things this way.
Link: http://lkml.kernel.org/r/20171010151937.26984-6-jack@suse.cz
Signed-off-by: Jan Kara <jack@suse.cz>
Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/filemap.c')
-rw-r--r-- | mm/filemap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 014109e66e4a..c649624d386c 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -165,6 +165,9 @@ static void page_cache_tree_delete(struct address_space *mapping, | |||
165 | workingset_update_node, mapping); | 165 | workingset_update_node, mapping); |
166 | } | 166 | } |
167 | 167 | ||
168 | page->mapping = NULL; | ||
169 | /* Leave page->index set: truncation lookup relies upon it */ | ||
170 | |||
168 | if (shadow) { | 171 | if (shadow) { |
169 | mapping->nrexceptional += nr; | 172 | mapping->nrexceptional += nr; |
170 | /* | 173 | /* |
@@ -250,9 +253,6 @@ void __delete_from_page_cache(struct page *page, void *shadow) | |||
250 | inode_to_wb(mapping->host)); | 253 | inode_to_wb(mapping->host)); |
251 | } | 254 | } |
252 | page_cache_tree_delete(mapping, page, shadow); | 255 | page_cache_tree_delete(mapping, page, shadow); |
253 | |||
254 | page->mapping = NULL; | ||
255 | /* Leave page->index set: truncation lookup relies upon it */ | ||
256 | } | 256 | } |
257 | 257 | ||
258 | static void page_cache_free_page(struct address_space *mapping, | 258 | static void page_cache_free_page(struct address_space *mapping, |