[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/%3Ccover.1443262808.git.vdavydov@xxxxxxxxxxxxx%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(-) -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html