On Thu, May 12, 2022 at 11:53:07AM +0900, Wonhyuk Yang wrote: > 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 44042b4498728 ("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. > > Cc: Baik Song An <bsahn@xxxxxxxxxx> > Cc: Hong Yeon Kim <kimhy@xxxxxxxxxx> > Cc: Taeung Song <taeung@xxxxxxxxxxxxxxx> > Cc: linuxgeek@xxxxxxxxxxxx > Signed-off-by: Wonhyuk Yang <vvghjk1234@xxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> -- Mel Gorman SUSE Labs