diff options
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r-- | mm/vmscan.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index 154b9b608da6..2804d23e2da7 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -484,6 +484,7 @@ void putback_lru_page(struct page *page) | |||
484 | { | 484 | { |
485 | int lru; | 485 | int lru; |
486 | int active = !!TestClearPageActive(page); | 486 | int active = !!TestClearPageActive(page); |
487 | int was_unevictable = PageUnevictable(page); | ||
487 | 488 | ||
488 | VM_BUG_ON(PageLRU(page)); | 489 | VM_BUG_ON(PageLRU(page)); |
489 | 490 | ||
@@ -525,6 +526,11 @@ redo: | |||
525 | */ | 526 | */ |
526 | } | 527 | } |
527 | 528 | ||
529 | if (was_unevictable && lru != LRU_UNEVICTABLE) | ||
530 | count_vm_event(UNEVICTABLE_PGRESCUED); | ||
531 | else if (!was_unevictable && lru == LRU_UNEVICTABLE) | ||
532 | count_vm_event(UNEVICTABLE_PGCULLED); | ||
533 | |||
528 | put_page(page); /* drop ref from isolate */ | 534 | put_page(page); /* drop ref from isolate */ |
529 | } | 535 | } |
530 | 536 | ||