mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint
commit ce8f86ee94fabcc98537ddccd7e82cfd360a4dc5 upstream. The trace point *trace_mm_page_alloc_zone_locked()* in __rmqueue() does not currently cover all branches. Add the missing tracepoint and check the page before do that. [akpm@linux-foundation.org: use IS_ENABLED() to suppress warning] Link: https://lkml.kernel.org/r/20201228132901.41523-1-carver4lio@163.com Signed-off-by: Hailong liu <liu.hailong6@zte.com.cn> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Ivan Babrou <ivan@cloudflare.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c6fd968f58
commit
c11f7749f1
@ -2846,7 +2846,7 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
|
|||||||
{
|
{
|
||||||
struct page *page;
|
struct page *page;
|
||||||
|
|
||||||
#ifdef CONFIG_CMA
|
if (IS_ENABLED(CONFIG_CMA)) {
|
||||||
/*
|
/*
|
||||||
* Balance movable allocations between regular and CMA areas by
|
* Balance movable allocations between regular and CMA areas by
|
||||||
* allocating from CMA when over half of the zone's free memory
|
* allocating from CMA when over half of the zone's free memory
|
||||||
@ -2857,9 +2857,9 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
|
|||||||
zone_page_state(zone, NR_FREE_PAGES) / 2) {
|
zone_page_state(zone, NR_FREE_PAGES) / 2) {
|
||||||
page = __rmqueue_cma_fallback(zone, order);
|
page = __rmqueue_cma_fallback(zone, order);
|
||||||
if (page)
|
if (page)
|
||||||
return page;
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
retry:
|
retry:
|
||||||
page = __rmqueue_smallest(zone, order, migratetype);
|
page = __rmqueue_smallest(zone, order, migratetype);
|
||||||
if (unlikely(!page)) {
|
if (unlikely(!page)) {
|
||||||
@ -2870,7 +2870,8 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
|
|||||||
alloc_flags))
|
alloc_flags))
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
out:
|
||||||
|
if (page)
|
||||||
trace_mm_page_alloc_zone_locked(page, order, migratetype);
|
trace_mm_page_alloc_zone_locked(page, order, migratetype);
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user