On Tue, Jul 07, 2026 at 02:44:50PM +0100, Lorenzo Stoakes wrote: > See above about deduplicating. > > > + ttu |= TTU_RESPECT_MLOCK; > > Hmm. I don't love 'respect mlock'. I guess we only know about the reason > being compaction here. > > But I'm confused anyway. We have the folio, why aren't we just checking for > PG_mlocked() here instead of getting the rmap to see if it's mapped > anywhere with VMA_LOCKED_BIT?
Also, since compaction_allow_unevictable() is a function that is accessible elsewhere, you could literally just have a TTU_MIGRATION here instead and have the rmap logic call compaction_allow_unevictable() instead rather than this. And then you could adapt the function I suggested before not to take a reason parameter but rather a 'is_migration' one instead possibly and then pass (ttu & TTU_MIGRATION) in. BUT. I still question whether this is at all needed since you have the folio you can check for PG_mlocked... Cheers, Lorenzo
