mm: memcontrol: use the node-native slab memory counters
Now that the slab counters are moved from the zone to the node level we can drop the private memcg node stats and use the official ones. Link: http://lkml.kernel.org/r/20170530181724.27197-4-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Vladimir Davydov <vdavydov.dev@gmail.com> Cc: Josef Bacik <josef@toxicpanda.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
385386cff4
Коммит
320492961c
|
@ -44,8 +44,6 @@ enum memcg_stat_item {
|
|||
MEMCG_SOCK,
|
||||
/* XXX: why are these zone and not node counters? */
|
||||
MEMCG_KERNEL_STACK_KB,
|
||||
MEMCG_SLAB_RECLAIMABLE,
|
||||
MEMCG_SLAB_UNRECLAIMABLE,
|
||||
MEMCG_NR_STAT,
|
||||
};
|
||||
|
||||
|
|
|
@ -5198,8 +5198,8 @@ static int memory_stat_show(struct seq_file *m, void *v)
|
|||
seq_printf(m, "kernel_stack %llu\n",
|
||||
(u64)stat[MEMCG_KERNEL_STACK_KB] * 1024);
|
||||
seq_printf(m, "slab %llu\n",
|
||||
(u64)(stat[MEMCG_SLAB_RECLAIMABLE] +
|
||||
stat[MEMCG_SLAB_UNRECLAIMABLE]) * PAGE_SIZE);
|
||||
(u64)(stat[NR_SLAB_RECLAIMABLE] +
|
||||
stat[NR_SLAB_UNRECLAIMABLE]) * PAGE_SIZE);
|
||||
seq_printf(m, "sock %llu\n",
|
||||
(u64)stat[MEMCG_SOCK] * PAGE_SIZE);
|
||||
|
||||
|
@ -5223,9 +5223,9 @@ static int memory_stat_show(struct seq_file *m, void *v)
|
|||
}
|
||||
|
||||
seq_printf(m, "slab_reclaimable %llu\n",
|
||||
(u64)stat[MEMCG_SLAB_RECLAIMABLE] * PAGE_SIZE);
|
||||
(u64)stat[NR_SLAB_RECLAIMABLE] * PAGE_SIZE);
|
||||
seq_printf(m, "slab_unreclaimable %llu\n",
|
||||
(u64)stat[MEMCG_SLAB_UNRECLAIMABLE] * PAGE_SIZE);
|
||||
(u64)stat[NR_SLAB_UNRECLAIMABLE] * PAGE_SIZE);
|
||||
|
||||
/* Accumulated memory events */
|
||||
|
||||
|
|
|
@ -287,7 +287,7 @@ static __always_inline int memcg_charge_slab(struct page *page,
|
|||
|
||||
memcg_kmem_update_page_stat(page,
|
||||
(s->flags & SLAB_RECLAIM_ACCOUNT) ?
|
||||
MEMCG_SLAB_RECLAIMABLE : MEMCG_SLAB_UNRECLAIMABLE,
|
||||
NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE,
|
||||
1 << order);
|
||||
return 0;
|
||||
}
|
||||
|
@ -300,7 +300,7 @@ static __always_inline void memcg_uncharge_slab(struct page *page, int order,
|
|||
|
||||
memcg_kmem_update_page_stat(page,
|
||||
(s->flags & SLAB_RECLAIM_ACCOUNT) ?
|
||||
MEMCG_SLAB_RECLAIMABLE : MEMCG_SLAB_UNRECLAIMABLE,
|
||||
NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE,
|
||||
-(1 << order));
|
||||
memcg_kmem_uncharge(page, order);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче