• Wonhyuk Yang's avatar
    mm/page_alloc: fix tracepoint mm_page_alloc_zone_locked() · 10e0f753
    Wonhyuk Yang authored
    Currently, trace point mm_page_alloc_zone_locked() doesn't show correct
    information.
    
    First, when alloc_flag has ALLOC_HARDER/ALLOC_CMA, page can be allocated
    from MIGRATE_HIGHATOMIC/MIGRATE_CMA.  Nevertheless, tracepoint use
    requested migration type not MIGRATE_HIGHATOMIC and MIGRATE_CMA.
    
    Second, after commit 44042b44 ("mm/page_alloc: allow high-order pages
    to be stored on the per-cpu lists") percpu-list can store high order
    pages.  But trace point determine whether it is a refiil of percpu-list by
    comparing requested order and 0.
    
    To handle these problems, make mm_page_alloc_zone_locked() only be called
    by __rmqueue_smallest with correct migration type.  With a new argument
    called percpu_refill, it can show roughly whether it is a refill of
    percpu-list.
    
    Link: https://lkml.kernel.org/r/20220512025307.57924-1-vvghjk1234@gmail.comSigned-off-by: default avatarWonhyuk Yang <vvghjk1234@gmail.com>
    Acked-by: default avatarMel Gorman <mgorman@suse.de>
    Cc: Baik Song An <bsahn@etri.re.kr>
    Cc: Hong Yeon Kim <kimhy@etri.re.kr>
    Cc: Taeung Song <taeung@reallinux.co.kr>
    Cc: <linuxgeek@linuxgeek.io>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    10e0f753
kmem.h 9.1 KB