diff options
Diffstat (limited to 'mm/swap.c')
-rw-r--r-- | mm/swap.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -476,6 +476,13 @@ static void drain_cpu_pagevecs(int cpu) | |||
476 | */ | 476 | */ |
477 | void deactivate_page(struct page *page) | 477 | void deactivate_page(struct page *page) |
478 | { | 478 | { |
479 | /* | ||
480 | * In a workload with many unevictable page such as mprotect, unevictable | ||
481 | * page deactivation for accelerating reclaim is pointless. | ||
482 | */ | ||
483 | if (PageUnevictable(page)) | ||
484 | return; | ||
485 | |||
479 | if (likely(get_page_unless_zero(page))) { | 486 | if (likely(get_page_unless_zero(page))) { |
480 | struct pagevec *pvec = &get_cpu_var(lru_deactivate_pvecs); | 487 | struct pagevec *pvec = &get_cpu_var(lru_deactivate_pvecs); |
481 | 488 | ||