On Mon, Nov 23, 2020 at 12:15 PM Jason Gunthorpe <jgg@xxxxxxxx> wrote: > > On Mon, Nov 23, 2020 at 11:06:21AM -0500, Pavel Tatashin wrote: > > > What I mean here is allowing users to guarantee that the page's PA is > > going to stay the same. Sort of a stronger mlock. Mlock only > > guarantees that the page is not swapped, but something like > > You've just described get/pin_user_pages(), that is exactly what it is > for. You are right. No need for the madvise() flag at all. (The slight difference of being able to mark memory pinned prior to touching is really insignificant). > > I agree with the other emails, ZONE_MOVABLE needs to be reconciled > with FOLL_LONGTERM - most likely by preventing ZONE_MOVABLE pages from > being returned. This will need migration like CMA does and the point > about faulting is only an optimization to prevent fault then immediate > migration. That is right, as the first step we could just do fault and immediate migration, which is silly, but still better than what we have now. > > Jason