[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180305182951.34462-1-shakeelb@google.com>
Date: Mon, 5 Mar 2018 10:29:49 -0800
From: Shakeel Butt <shakeelb@...gle.com>
To: Jan Kara <jack@...e.cz>, Amir Goldstein <amir73il@...il.com>,
Christoph Lameter <cl@...ux.com>,
Pekka Enberg <penberg@...nel.org>,
David Rientjes <rientjes@...gle.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
Greg Thelen <gthelen@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Michal Hocko <mhocko@...nel.org>,
Vladimir Davydov <vdavydov.dev@...il.com>,
Mel Gorman <mgorman@...e.de>, Vlastimil Babka <vbabka@...e.cz>
Cc: linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
cgroups@...r.kernel.org, linux-kernel@...r.kernel.org,
Shakeel Butt <shakeelb@...gle.com>
Subject: [PATCH v4 0/2] Directed kmem charging
This patchset introduces memcg variant memory allocation functions. The
caller can explicitly pass the memcg to charge for kmem allocations.
Currently the kernel, for __GFP_ACCOUNT memory allocation requests,
extract the memcg of the current task to charge for the kmem allocation.
This patch series introduces kmem allocation functions where the caller
can pass the pointer to the remote memcg. The remote memcg will be
charged for the allocation instead of the memcg of the caller. However
the caller must have a reference to the remote memcg.
Fixed the build for SLOB in v2, added the target_memcg in task_struct in
v3 and in v4, added node variant for kmem allocation functions and
rebased fsnotify patch over Jan's patches.
Shakeel Butt (2):
mm: memcg: remote memcg charging for kmem allocations
fs: fsnotify: account fsnotify metadata to kmemcg
fs/notify/dnotify/dnotify.c | 5 ++-
fs/notify/fanotify/fanotify.c | 6 ++-
fs/notify/fanotify/fanotify_user.c | 5 ++-
fs/notify/group.c | 4 ++
fs/notify/inotify/inotify_fsnotify.c | 2 +-
fs/notify/inotify/inotify_user.c | 5 ++-
include/linux/fsnotify_backend.h | 12 ++++--
include/linux/memcontrol.h | 7 ++++
include/linux/sched.h | 3 ++
include/linux/sched/mm.h | 23 +++++++++++
include/linux/slab.h | 59 ++++++++++++++++++++++++++++
kernel/fork.c | 3 ++
mm/memcontrol.c | 25 +++++++++---
13 files changed, 143 insertions(+), 16 deletions(-)
--
2.16.2.395.g2e18187dfd-goog
Powered by blists - more mailing lists