As noted by Yu Zhao, use pcp_spin_trylock_irqsave instead of pcpu_spin_trylock_irqsave. This is a fix to the mm-unstable patch mm-page_alloc-replace-local_lock-with-normal-spinlock.patch Reported-by: Yu Zhao <yuzhao@xxxxxxxxxx> Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 71065b01827b..934d1b5a5449 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3493,7 +3493,7 @@ void free_unref_page(struct page *page, unsigned int order) zone = page_zone(page); pcp_trylock_prepare(UP_flags); - pcp = pcpu_spin_trylock_irqsave(struct per_cpu_pages, lock, zone->per_cpu_pageset, flags); + pcp = pcp_spin_trylock_irqsave(zone->per_cpu_pageset, flags); if (pcp) { free_unref_page_commit(zone, pcp, page, migratetype, order); pcp_spin_unlock_irqrestore(pcp, flags);