diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-07-04 08:19:21 -0700 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-07-04 08:19:21 -0700 | 
| commit | c318a821b9828ef3be97d5d896d146e7daa43c86 (patch) | |
| tree | 7ed40911ffebcbabf87ec4be692f6fb154053687 /mm/swap.c | |
| parent | 322832f2f19e04c866a0ce4bdac8cff8e695f2b3 (diff) | |
| parent | a99cde438de0c4c0cecc1d1af1a55a75b10bfdef (diff) | |
Merge 4.7-rc6 into usb-next
We want the USB fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/swap.c')
| -rw-r--r-- | mm/swap.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/mm/swap.c b/mm/swap.c index 59f5fafa6e1f..90530ff8ed16 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -242,7 +242,7 @@ void rotate_reclaimable_page(struct page *page)  		get_page(page);  		local_irq_save(flags);  		pvec = this_cpu_ptr(&lru_rotate_pvecs); -		if (!pagevec_add(pvec, page)) +		if (!pagevec_add(pvec, page) || PageCompound(page))  			pagevec_move_tail(pvec);  		local_irq_restore(flags);  	} @@ -296,7 +296,7 @@ void activate_page(struct page *page)  		struct pagevec *pvec = &get_cpu_var(activate_page_pvecs);  		get_page(page); -		if (!pagevec_add(pvec, page)) +		if (!pagevec_add(pvec, page) || PageCompound(page))  			pagevec_lru_move_fn(pvec, __activate_page, NULL);  		put_cpu_var(activate_page_pvecs);  	} @@ -391,9 +391,8 @@ static void __lru_cache_add(struct page *page)  	struct pagevec *pvec = &get_cpu_var(lru_add_pvec);  	get_page(page); -	if (!pagevec_space(pvec)) +	if (!pagevec_add(pvec, page) || PageCompound(page))  		__pagevec_lru_add(pvec); -	pagevec_add(pvec, page);  	put_cpu_var(lru_add_pvec);  } @@ -628,7 +627,7 @@ void deactivate_file_page(struct page *page)  	if (likely(get_page_unless_zero(page))) {  		struct pagevec *pvec = &get_cpu_var(lru_deactivate_file_pvecs); -		if (!pagevec_add(pvec, page)) +		if (!pagevec_add(pvec, page) || PageCompound(page))  			pagevec_lru_move_fn(pvec, lru_deactivate_file_fn, NULL);  		put_cpu_var(lru_deactivate_file_pvecs);  	} @@ -648,7 +647,7 @@ void deactivate_page(struct page *page)  		struct pagevec *pvec = &get_cpu_var(lru_deactivate_pvecs);  		get_page(page); -		if (!pagevec_add(pvec, page)) +		if (!pagevec_add(pvec, page) || PageCompound(page))  			pagevec_lru_move_fn(pvec, lru_deactivate_fn, NULL);  		put_cpu_var(lru_deactivate_pvecs);  	}  | 
