On Fri, May 13, 2022 at 05:09:11PM -0700, John Hubbard wrote: > On 5/13/22 16:54, Minchan Kim wrote: > > > > I isolated this to Minchan Kim's "mm: fix is_pinnable_page against on cma > > > > page". Yes, the fat finger fix is in next-20220513. > > > > > > > > I don't have time to analyze right now, but can confirm that in the > > > > reproducer is_pinnable_page is returning false after this change when it > > > > previously returned true. > > > > > > OK, thanks, I dropped mm-fix-is_pinnable_page-against-on-cma-page.patch > > > > Seems like bug of the patch v5 due to change of this > > > > if (mt & (MIGRATE_CMA | MIGRATE_ISOLATE)) > > > > The migration type is not bit type so it shold be > > > > if (mt == MIGRATE_CMA || mt == MIGRATE_ISOLATE) > > > > Sorry for leading you astray by recommending the bitwise OR, Minchan. > I overlooked that point even though it was right in front of me. No worry, John. Anything else further can we get insight from the warning? For example, pin_user_pages going on against a hugetlb page which are concurrently running alloc_contig_range(it's exported function so anyone can call randomly) so alloc_contig_range changes pageblock type as MIGRATE_ISOLATE under us so the hit at the warning?