On 2/16/21 6:49 PM, Mike Rapoport wrote: > Hi Vlastimil, > > On Tue, Feb 16, 2021 at 05:39:12PM +0100, Vlastimil Babka wrote: >> >> >> So, Andrea could you please check if this fixes the original >> fast_isolate_around() issue for you? With the VM_BUG_ON not removed, DEBUG_VM >> enabled, no changes to struct page initialization... >> It relies on pageblock_pfn_to_page as the rest of the compaction code. > > Pardon my ignorance of compaction internals, but does this mean that with > your patch we'll never call set_pfnblock_flags_mask() for a pfn in a hole? No it doesn't mean that kind of guarantee. But we will not call it anymore (if my patch is correct) from a path which we currently know it's doing that and triggering the VM_BUG_ON. So that's a targetted fix that matches stable backport criteria. It doesn't contradict your patch as a way to improve mainline, I still agree it's best long-term if we initialize the struct pages without such surprises. But I also agree with Michal that there's a risk of replacing one corner case with another and thus we shouldn't do that as a stable fix.