• Glauber Costa's avatar
    memcg: skip memcg kmem allocations in specified code regions · 0e9d92f2
    Glauber Costa authored
    Create a mechanism that skip memcg allocations during certain pieces of
    our core code.  It basically works in the same way as
    preempt_disable()/preempt_enable(): By marking a region under which all
    allocations will be accounted to the root memcg.
    
    We need this to prevent races in early cache creation, when we
    allocate data using caches that are not necessarily created already.
    Signed-off-by: default avatarGlauber Costa <glommer@parallels.com>
    yCc: Christoph Lameter <cl@linux.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Frederic Weisbecker <fweisbec@redhat.com>
    Cc: Greg Thelen <gthelen@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: JoonSoo Kim <js1304@gmail.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Suleiman Souhlal <suleiman@google.com>
    Cc: Tejun Heo <tj@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    0e9d92f2
memcontrol.c 173 KB