Hi, Linus, On Fri, Jul 28, 2023 at 09:18:45AM -0700, Linus Torvalds wrote: > The original reason for FOLL_NUMA simply does not exist any more. We > know exactly when a page is marked for NUMA faulting, and we should > simply *ignore* it for GUP and follow_page(). > > I think we should treat a NUMA-faulting page as just being present > (and not NUMA-fault it). But then does it means that any gup-only user will have numa balancing completely disabled? Since as long as the page will only be accessed by GUP, the numa balancing will never trigger anyway.. I think KVM is manipulating guest pages just like that. Not sure whether it means it'll void the whole numa effort there. If we allow that GUP from happening (taking protnone as present) I assume it'll also stop any further numa balancing on this very page to trigger too, because even if some page fault handler triggered on this protnone page later that is not GUP anymore, when it wants to migrate the page to the other numa node it'll see someone is holding a reference on it already, and then we should give up the balancing. So to me FOLL_NUMA (or any identifier like it.. just to describe the caller's need; some may really just want to fetch the pfn/page) still makes sense. But maybe I totally misunderstood above.. Thanks, -- Peter Xu