• Joonsoo Kim's avatar
    slab: correct pfmemalloc check · 73293c2f
    Joonsoo Kim authored
    We checked pfmemalloc by slab unit, not page unit. You can see this
    in is_slab_pfmemalloc(). So other pages don't need to be set/cleared
    pfmemalloc.
    
    And, therefore we should check pfmemalloc in page flag of first page,
    but current implementation don't do that. virt_to_head_page(obj) just
    return 'struct page' of that object, not one of first page, since the SLAB
    don't use __GFP_COMP when CONFIG_MMU. To get 'struct page' of first page,
    we first get a slab and try to get it via virt_to_head_page(slab->s_mem).
    Acked-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
    Signed-off-by: default avatarPekka Enberg <penberg@iki.fi>
    73293c2f
slab.c 114 KB