Skip to content

More stuff to charge to kmemcg

Vladimir Davydov linux-fsdevel linux-mm lkml netdev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v1 Latest posting 2/28 patches 13 repliesIn review 7 of 8 applied
  2. v1 posting 1/28 patches 4 repliesSuperseded

Patches in v1 posting 2/2 7 of 8 applied

#Subject and filesSizeRepliesApplied
1/8mm: remove pointless struct in struct page definitioninclude/linux/mm_types.h+32 -360 repliesApplied
2/8mm: clean up non-standard page->_mapcount usersinclude/linux/mm_types.h include/linux/page-flags.h scripts/tags.sh+40 -410 repliesApplied
3/8mm: memcontrol: cleanup kmem charge functionsinclude/linux/memcontrol.h mm/memcontrol.c mm/page_alloc.c +1 more+80 -1230 repliesApplied
4/8mm: charge/uncharge kmemcg from generic page allocator pathsinclude/linux/gfp.h include/linux/page-flags.h kernel/fork.c +4 more+31 -720 repliesApplied
5/8mm: memcontrol: teach uncharge_list to deal with kmem pagesmm/memcontrol.c+24 -180 repliesApplied
6/8arch: x86: charge page tables to kmemcgarch/x86/include/asm/pgalloc.h arch/x86/mm/pgtable.c+18 -50 repliesApplied
7/8pipe: account to kmemcgfs/pipe.c+26 -68 replies
8/8af_unix: charge buffers to kmemcgnet/unix/af_unix.c+1 -05 repliesApplied

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH RESEND 0/8] More stuff to charge to kmemcg

[resending with all relevant lists in Cc]

Hi,

This patch implements per kmemcg accounting of page tables (x86-only), pipe buffers, and unix socket buffers.

Basically, this is v2 of my earlier attempt [1], addressing comments by Andrew, namely: lack of comments to non-standard _mapcount usage, extra overhead even when kmemcg is unused, wrong handling of stolen pipe buffer pages.

Patches 1-3 are just cleanups that are not supposed to introduce any functional changes. Patches 4 and 5 move charge/uncharge to generic page allocator paths for the sake of accounting pipe and unix socket buffers. Patches 5-7 make x86 page tables, pipe buffers, and unix socket buffers accountable.

[1] http://lkml.kernel.org/r/%[email protected]%3E

Thanks,

Vladimir Davydov (8):
mm: remove pointless struct in struct page definition
mm: clean up non-standard page->_mapcount users
mm: memcontrol: cleanup kmem charge functions
mm: charge/uncharge kmemcg from generic page allocator paths
mm: memcontrol: teach uncharge_list to deal with kmem pages
arch: x86: charge page tables to kmemcg
pipe: account to kmemcg
af_unix: charge buffers to kmemcg

 arch/x86/include/asm/pgalloc.h |  12 ++++-
 arch/x86/mm/pgtable.c          |  11 ++--
 fs/pipe.c                      |  32 ++++++++---
 include/linux/gfp.h            |  10 +---
 include/linux/memcontrol.h     | 103 +++---------------------------------
 include/linux/mm_types.h       |  73 ++++++++++++-------------
 include/linux/page-flags.h     |  78 +++++++++++++--------------
 kernel/fork.c                  |   6 +--
 mm/memcontrol.c                | 117 ++++++++++++++++++++++++++++-------------
 mm/page_alloc.c                |  63 +++++-----------------
 mm/slab.h                      |  16 ++++--
 mm/slab_common.c               |   2 +-
 mm/slub.c                      |   6 +--
 mm/vmalloc.c                   |   6 +--
 net/unix/af_unix.c             |   1 +
 scripts/tags.sh                |   3 ++
 16 files changed, 245 insertions(+), 294 deletions(-)
Signature · 7 lines
2.1.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>