forked from Minki/linux
mm: move nr_deactivate accounting to shrink_active_list()
We know which LRU is not active. [chris@chrisdown.name: fix build on !CONFIG_MEMCG] Link: http://lkml.kernel.org/r/20190322150513.GA22021@chrisdown.name Link: http://lkml.kernel.org/r/155290128498.31489.18250485448913338607.stgit@localhost.localdomain Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: Chris Down <chris@chrisdown.name> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com> Cc: Michal Hocko <mhocko@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
886cf1901d
commit
9851ac1359
@ -1117,6 +1117,12 @@ static inline void count_memcg_events(struct mem_cgroup *memcg,
|
||||
{
|
||||
}
|
||||
|
||||
static inline void __count_memcg_events(struct mem_cgroup *memcg,
|
||||
enum vm_event_item idx,
|
||||
unsigned long count)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void count_memcg_page_event(struct page *page,
|
||||
int idx)
|
||||
{
|
||||
|
10
mm/vmscan.c
10
mm/vmscan.c
@ -2040,12 +2040,6 @@ static unsigned move_active_pages_to_lru(struct lruvec *lruvec,
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_active_lru(lru)) {
|
||||
__count_vm_events(PGDEACTIVATE, nr_moved);
|
||||
count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE,
|
||||
nr_moved);
|
||||
}
|
||||
|
||||
return nr_moved;
|
||||
}
|
||||
|
||||
@ -2137,6 +2131,10 @@ static void shrink_active_list(unsigned long nr_to_scan,
|
||||
|
||||
nr_activate = move_active_pages_to_lru(lruvec, &l_active, &l_hold, lru);
|
||||
nr_deactivate = move_active_pages_to_lru(lruvec, &l_inactive, &l_hold, lru - LRU_ACTIVE);
|
||||
|
||||
__count_vm_events(PGDEACTIVATE, nr_deactivate);
|
||||
__count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE, nr_deactivate);
|
||||
|
||||
__mod_node_page_state(pgdat, NR_ISOLATED_ANON + file, -nr_taken);
|
||||
spin_unlock_irq(&pgdat->lru_lock);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user