On Fri, 28 Jul 2023 at 13:33, David Hildenbrand <david@xxxxxxxxxx> wrote: > > So would you rather favor a FOLL_NUMA that has to be passed from the > outside by selected callers or a FOLL_NUMA that is set on the GUP path > unconditionally (but left clear for follow_page())? I'd rather see the FOLL_NUMA that has to be set by odd cases, and that is never set by any sane user. And it should not be called FOLL_NUMA. It should be called something else. Because *not* having it doesn't disable following pages across NUMA boundaries, and the name is actively misleading. It sounds like what KVM actually wants is a "Do NOT follow NUMA pages, I'll force a page fault". And the fact that KVM wants a fault for NUMA pages shouldn't mean that others - who clearly cannot care - get that insane behavior by default. The name should reflect that, instead of being the misleading mess of FOLL_FORCE and bad naming that it is now. So maybe it can be called "FOLL_HONOR_NUMA_FAULT" or something, to make it clear that it's the *opposite* of FOLL_FORCE, and that it honors the NUMA faulting that nobody should care about. Then the KVM code can have a big comment about *why* it sets that bit. Hmm? Can we please aim for something that is understandable and documented? No odd implicit rules. No "force NUMA fault even when it makes no sense". No tie-in with FOLL_FORCE. Linus