On Tue, Apr 12, 2022 at 09:39:25PM +0800, Chao Peng wrote: > On Mon, Apr 11, 2022 at 06:32:33PM +0300, Kirill A. Shutemov wrote: > > On Thu, Apr 07, 2022 at 04:05:36PM +0000, Sean Christopherson wrote: > > > Hmm, shmem_writepage() already handles SHM_F_INACCESSIBLE by rejecting the swap, so > > > maybe it's just the page migration path that needs to be updated? > > > > My early version prevented migration with -ENOTSUPP for > > address_space_operations::migratepage(). > > > > What's wrong with that approach? > > I previously thought migratepage will not be called since we already > marked the pages as UNMOVABLE, sounds not correct? Do you mean missing __GFP_MOVABLE? I can be wrong, but I don't see that it direclty affects if the page is migratable. It is a hint to page allocator to group unmovable pages to separate page block and impove availablity of higher order pages this way. Page allocator tries to allocate unmovable pages from pages blocks that already have unmovable pages. -- Kirill A. Shutemov