• Joonsoo Kim's avatar
    mm/slab: separate cache_grow() to two parts · 76b342bd
    Joonsoo Kim authored
    This is a preparation step to implement lockless allocation path when
    there is no free objects in kmem_cache.
    What we'd like to do here is to refill cpu cache without holding a node
    lock.  To accomplish this purpose, refill should be done after new slab
    allocation but before attaching the slab to the management list.  So,
    this patch separates cache_grow() to two parts, allocation and attaching
    to the list in order to add some code inbetween them in the following
    Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jesper Dangaard Brouer <brouer@redhat.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>