On Thu, Apr 18, 2019 at 02:54:52PM +0100, Mel Gorman wrote: > > > [ 1422.124060] WARNING: CPU: 0 PID: 9783 at mm/page_alloc.c:3777 __alloc_pages_irect_compact+0x182/0x190 We lost a character here? "_irect_" should surely be "_direct_" > ---8<--- > mm, page_alloc: Always use a captured page regardless of compaction result > > During the development of commit 5e1f0f098b46 ("mm, compaction: capture > a page under direct compaction"), a paranoid check was added to ensure > that if a captured page was available after compaction that it was > consistent with the final state of compaction. The intent was to catch > serious programming bugs such as using a stale page pointer and causing > corruption problems. > > However, it is possible to get a captured page even if compaction was > unsuccessful if an interrupt triggered and happened to free pages in > interrupt context that got merged into a suitable high-order page. It's > highly unlikely but Li Wang did report the following warning on s390 > > [ 1422.124060] WARNING: CPU: 0 PID: 9783 at mm/page_alloc.c:3777 __alloc_pages_irect_compact+0x182/0x190 ... so it probably needs to be corrected here.