|
|
@@ -2905,34 +2905,6 @@ __memcg_kmem_newpage_charge(gfp_t gfp, struct mem_cgroup **_memcg, int order)
|
|
|
|
|
|
*_memcg = NULL;
|
|
|
|
|
|
- /*
|
|
|
- * Disabling accounting is only relevant for some specific memcg
|
|
|
- * internal allocations. Therefore we would initially not have such
|
|
|
- * check here, since direct calls to the page allocator that are
|
|
|
- * accounted to kmemcg (alloc_kmem_pages and friends) only happen
|
|
|
- * outside memcg core. We are mostly concerned with cache allocations,
|
|
|
- * and by having this test at memcg_kmem_get_cache, we are already able
|
|
|
- * to relay the allocation to the root cache and bypass the memcg cache
|
|
|
- * altogether.
|
|
|
- *
|
|
|
- * There is one exception, though: the SLUB allocator does not create
|
|
|
- * large order caches, but rather service large kmallocs directly from
|
|
|
- * the page allocator. Therefore, the following sequence when backed by
|
|
|
- * the SLUB allocator:
|
|
|
- *
|
|
|
- * memcg_stop_kmem_account();
|
|
|
- * kmalloc(<large_number>)
|
|
|
- * memcg_resume_kmem_account();
|
|
|
- *
|
|
|
- * would effectively ignore the fact that we should skip accounting,
|
|
|
- * since it will drive us directly to this function without passing
|
|
|
- * through the cache selector memcg_kmem_get_cache. Such large
|
|
|
- * allocations are extremely rare but can happen, for instance, for the
|
|
|
- * cache arrays. We bring this test here.
|
|
|
- */
|
|
|
- if (current->memcg_kmem_skip_account)
|
|
|
- return true;
|
|
|
-
|
|
|
memcg = get_mem_cgroup_from_mm(current->mm);
|
|
|
|
|
|
if (!memcg_kmem_is_active(memcg)) {
|