mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-09-21 20:22:13 +08:00
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,
|
static inline void count_memcg_page_event(struct page *page,
|
||||||
int idx)
|
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;
|
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_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);
|
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);
|
__mod_node_page_state(pgdat, NR_ISOLATED_ANON + file, -nr_taken);
|
||||||
spin_unlock_irq(&pgdat->lru_lock);
|
spin_unlock_irq(&pgdat->lru_lock);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user