mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 17:50:54 +07:00
slub: Simplify control flow in __slab_alloc()
Simplify control flow a bit avoiding nesting. Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
parent
7ced371971
commit
f469743673
14
mm/slub.c
14
mm/slub.c
@ -2272,17 +2272,15 @@ static void *__slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
|
||||
/* Then do expensive stuff like retrieving pages from the partial lists */
|
||||
freelist = get_partial(s, gfpflags, node, c);
|
||||
|
||||
if (unlikely(!freelist)) {
|
||||
|
||||
if (!freelist)
|
||||
freelist = new_slab_objects(s, gfpflags, node, &c);
|
||||
|
||||
if (unlikely(!freelist)) {
|
||||
if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
|
||||
slab_out_of_memory(s, gfpflags, node);
|
||||
if (unlikely(!freelist)) {
|
||||
if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
|
||||
slab_out_of_memory(s, gfpflags, node);
|
||||
|
||||
local_irq_restore(flags);
|
||||
return NULL;
|
||||
}
|
||||
local_irq_restore(flags);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (likely(!kmem_cache_debug(s)))
|
||||
|
Loading…
Reference in New Issue
Block a user