mm/slub: fix missing ALLOC_SLOWPATH stat when bulk alloc
The ALLOC_SLOWPATH statistics is missing in bulk allocation now. Fix it by doing statistics in alloc slow path. Signed-off-by: Abel Wu <wuyun.wu@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Pekka Enberg <penberg@kernel.org> Acked-by: David Rientjes <rientjes@google.com> Cc: Christoph Lameter <cl@linux.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Hewenliang <hewenliang4@huawei.com> Cc: Hu Shiyuan <hushiyuan@huawei.com> Link: http://lkml.kernel.org/r/20200811022427.1363-1-wuyun.wu@huawei.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c270cf3041
commit
9f986d998a
|
@ -2661,6 +2661,8 @@ static void *___slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
|
|||
void *freelist;
|
||||
struct page *page;
|
||||
|
||||
stat(s, ALLOC_SLOWPATH);
|
||||
|
||||
page = c->page;
|
||||
if (!page) {
|
||||
/*
|
||||
|
@ -2850,7 +2852,6 @@ redo:
|
|||
page = c->page;
|
||||
if (unlikely(!object || !node_match(page, node))) {
|
||||
object = __slab_alloc(s, gfpflags, node, addr, c);
|
||||
stat(s, ALLOC_SLOWPATH);
|
||||
} else {
|
||||
void *next_object = get_freepointer_safe(s, object);
|
||||
|
||||
|
|
Loading…
Reference in New Issue