diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmscan.c | 6 | ||||
-rw-r--r-- | mm/vmstat.c | 5 |
2 files changed, 11 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 | ||
diff --git a/mm/vmstat.c b/mm/vmstat.c index 4380b0dba6d9..6cb08cdd4f03 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -677,6 +677,11 @@ static const char * const vmstat_text[] = { | |||
677 | "htlb_buddy_alloc_success", | 677 | "htlb_buddy_alloc_success", |
678 | "htlb_buddy_alloc_fail", | 678 | "htlb_buddy_alloc_fail", |
679 | #endif | 679 | #endif |
680 | #ifdef CONFIG_UNEVICTABLE_LRU | ||
681 | "unevictable_pgs_culled", | ||
682 | "unevictable_pgs_scanned", | ||
683 | "unevictable_pgs_rescued", | ||
684 | #endif | ||
680 | #endif | 685 | #endif |
681 | }; | 686 | }; |
682 | 687 | ||