memcg: localize memcg_kmem_enabled() check
Move the memcg_kmem_enabled() checks into memcg kmem charge/uncharge functions, so, the users don't have to explicitly check that condition. This is purely code cleanup patch without any functional change. Only the order of checks in memcg_charge_slab() can potentially be changed but the functionally it will be same. This should not matter as memcg_charge_slab() is not in the hot path. Link: http://lkml.kernel.org/r/20190103161203.162375-1-shakeelb@google.com Signed-off-by: Shakeel Butt <shakeelb@google.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Vladimir Davydov <vdavydov.dev@gmail.com> Cc: Roman Gushchin <guro@fb.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
9234bae9b2
commit
60cd4bcd62
@@ -2573,7 +2573,7 @@ void memcg_kmem_put_cache(struct kmem_cache *cachep)
|
||||
}
|
||||
|
||||
/**
|
||||
* memcg_kmem_charge_memcg: charge a kmem page
|
||||
* __memcg_kmem_charge_memcg: charge a kmem page
|
||||
* @page: page to charge
|
||||
* @gfp: reclaim mode
|
||||
* @order: allocation order
|
||||
@@ -2581,7 +2581,7 @@ void memcg_kmem_put_cache(struct kmem_cache *cachep)
|
||||
*
|
||||
* Returns 0 on success, an error code on failure.
|
||||
*/
|
||||
int memcg_kmem_charge_memcg(struct page *page, gfp_t gfp, int order,
|
||||
int __memcg_kmem_charge_memcg(struct page *page, gfp_t gfp, int order,
|
||||
struct mem_cgroup *memcg)
|
||||
{
|
||||
unsigned int nr_pages = 1 << order;
|
||||
@@ -2604,24 +2604,24 @@ int memcg_kmem_charge_memcg(struct page *page, gfp_t gfp, int order,
|
||||
}
|
||||
|
||||
/**
|
||||
* memcg_kmem_charge: charge a kmem page to the current memory cgroup
|
||||
* __memcg_kmem_charge: charge a kmem page to the current memory cgroup
|
||||
* @page: page to charge
|
||||
* @gfp: reclaim mode
|
||||
* @order: allocation order
|
||||
*
|
||||
* Returns 0 on success, an error code on failure.
|
||||
*/
|
||||
int memcg_kmem_charge(struct page *page, gfp_t gfp, int order)
|
||||
int __memcg_kmem_charge(struct page *page, gfp_t gfp, int order)
|
||||
{
|
||||
struct mem_cgroup *memcg;
|
||||
int ret = 0;
|
||||
|
||||
if (mem_cgroup_disabled() || memcg_kmem_bypass())
|
||||
if (memcg_kmem_bypass())
|
||||
return 0;
|
||||
|
||||
memcg = get_mem_cgroup_from_current();
|
||||
if (!mem_cgroup_is_root(memcg)) {
|
||||
ret = memcg_kmem_charge_memcg(page, gfp, order, memcg);
|
||||
ret = __memcg_kmem_charge_memcg(page, gfp, order, memcg);
|
||||
if (!ret)
|
||||
__SetPageKmemcg(page);
|
||||
}
|
||||
@@ -2629,11 +2629,11 @@ int memcg_kmem_charge(struct page *page, gfp_t gfp, int order)
|
||||
return ret;
|
||||
}
|
||||
/**
|
||||
* memcg_kmem_uncharge: uncharge a kmem page
|
||||
* __memcg_kmem_uncharge: uncharge a kmem page
|
||||
* @page: page to uncharge
|
||||
* @order: allocation order
|
||||
*/
|
||||
void memcg_kmem_uncharge(struct page *page, int order)
|
||||
void __memcg_kmem_uncharge(struct page *page, int order)
|
||||
{
|
||||
struct mem_cgroup *memcg = page->mem_cgroup;
|
||||
unsigned int nr_pages = 1 << order;
|
||||
|
Reference in New Issue
Block a user