mm: shmem: change remove_from_page_cache
This patch series changes remove_from_page_cache()'s page ref counting rule. Page cache ref count is decreased in delete_from_page_cache(). So we don't need to decrease the page reference in callers. Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Acked-by: Hugh Dickins <hughd@google.com> Acked-by: Mel Gorman <mel@csn.ul.ie> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Reviewed-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
bd65cb86c9
commit
4c73b1bc6b
|
@ -1081,7 +1081,7 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc)
|
|||
shmem_recalc_inode(inode);
|
||||
|
||||
if (swap.val && add_to_swap_cache(page, swap, GFP_ATOMIC) == 0) {
|
||||
remove_from_page_cache(page);
|
||||
delete_from_page_cache(page);
|
||||
shmem_swp_set(info, entry, swap.val);
|
||||
shmem_swp_unmap(entry);
|
||||
if (list_empty(&info->swaplist))
|
||||
|
@ -1091,7 +1091,6 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc)
|
|||
spin_unlock(&info->lock);
|
||||
swap_shmem_alloc(swap);
|
||||
BUG_ON(page_mapped(page));
|
||||
page_cache_release(page); /* pagecache ref */
|
||||
swap_writepage(page, wbc);
|
||||
if (inode) {
|
||||
mutex_lock(&shmem_swaplist_mutex);
|
||||
|
|
Loading…
Reference in New Issue