diff options
Diffstat (limited to 'mm/swap.c')
-rw-r--r-- | mm/swap.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -445,6 +445,7 @@ void ____pagevec_lru_add(struct pagevec *pvec, enum lru_list lru) | |||
445 | for (i = 0; i < pagevec_count(pvec); i++) { | 445 | for (i = 0; i < pagevec_count(pvec); i++) { |
446 | struct page *page = pvec->pages[i]; | 446 | struct page *page = pvec->pages[i]; |
447 | struct zone *pagezone = page_zone(page); | 447 | struct zone *pagezone = page_zone(page); |
448 | int file; | ||
448 | 449 | ||
449 | if (pagezone != zone) { | 450 | if (pagezone != zone) { |
450 | if (zone) | 451 | if (zone) |
@@ -456,8 +457,12 @@ void ____pagevec_lru_add(struct pagevec *pvec, enum lru_list lru) | |||
456 | VM_BUG_ON(PageUnevictable(page)); | 457 | VM_BUG_ON(PageUnevictable(page)); |
457 | VM_BUG_ON(PageLRU(page)); | 458 | VM_BUG_ON(PageLRU(page)); |
458 | SetPageLRU(page); | 459 | SetPageLRU(page); |
459 | if (is_active_lru(lru)) | 460 | file = is_file_lru(lru); |
461 | zone->recent_scanned[file]++; | ||
462 | if (is_active_lru(lru)) { | ||
460 | SetPageActive(page); | 463 | SetPageActive(page); |
464 | zone->recent_rotated[file]++; | ||
465 | } | ||
461 | add_page_to_lru_list(zone, page, lru); | 466 | add_page_to_lru_list(zone, page, lru); |
462 | } | 467 | } |
463 | if (zone) | 468 | if (zone) |