Hi,

Currently we charge kmem to memcg in alloc_pages if __GFP_KMEMCG is
passed. However, since there are only a few places where we actually
want to charge kmem, we could call kmemcg charge function explicitly
instead. That would remove all kmemcg-related stuff from the general
allocation path and make all kmem charges easier to follow.

So let's charge kmem explicitly where we want it to be charged (slab,
threadinfo) and remove __GFP_KMEMCG.

Thanks,

Vladimir Davydov (4):
  sl[au]b: do not charge large allocations to memcg
  sl[au]b: charge slabs to memcg explicitly
  fork: charge threadinfo to memcg explicitly
  mm: kill __GFP_KMEMCG

 include/linux/gfp.h             |    5 -----
 include/linux/memcontrol.h      |   26 +++++++++++++-----------
 include/linux/slab.h            |    2 +-
 include/linux/thread_info.h     |    2 --
 include/trace/events/gfpflags.h |    1 -
 kernel/fork.c                   |   13 +++++++++---
 mm/memcontrol.c                 |   42 +++++++++++++++------------------------
 mm/page_alloc.c                 |   35 --------------------------------
 mm/slab.c                       |    7 ++++++-
 mm/slab_common.c                |    6 +-----
 mm/slub.c                       |   28 +++++++++++++++++---------
 11 files changed, 67 insertions(+), 100 deletions(-)

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to