• Hugh Dickins's avatar
    hugetlbfs: drop shared NUMA mempolicy pretence · 10969b55
    Hugh Dickins authored
    Patch series "mempolicy: cleanups leading to NUMA mpol without vma", v2.
    
    Mostly cleanups in mm/mempolicy.c, but finally removing the pseudo-vma
    from shmem folio allocation, and removing the mmap_lock around folio
    migration for mbind and migrate_pages syscalls.
    
    
    This patch (of 12):
    
    hugetlbfs_fallocate() goes through the motions of pasting a shared NUMA
    mempolicy onto its pseudo-vma, but how could there ever be a shared NUMA
    mempolicy for this file?  hugetlb_vm_ops has never offered a set_policy
    method, and hugetlbfs_parse_param() has never supported any mpol options
    for a mount-wide default policy.
    
    It's just an illusion: clean it away so as not to confuse others, giving
    us more freedom to adjust shmem's set_policy/get_policy implementation. 
    But hugetlbfs_inode_info is still required, just to accommodate seals.
    
    Yes, shared NUMA mempolicy support could be added to hugetlbfs, with a
    set_policy method and/or mpol mount option (Andi's first posting did
    include an admitted-unsatisfactory hugetlb_set_policy()); but it seems
    that nobody has bothered to add that in the nineteen years since v2.6.7
    made it possible, and there is at least one company that has invested
    enough into hugetlbfs, that I guess they have learnt well enough how to
    manage its NUMA, without needing shared mempolicy.
    
    Remove linux/mempolicy.h from linux/hugetlb.h: include linux/pagemap.h in
    its place, because hugetlb.h's recently added use of filemap_lock_folio()
    requires that (although most .configs and .c's get it in some other way).
    
    Link: https://lkml.kernel.org/r/ebc0987e-beff-8bfb-9283-234c2cbd17c5@google.com
    Link: https://lkml.kernel.org/r/cae82d4b-904a-faaf-282a-34fcc188c81f@google.comSigned-off-by: default avatarHugh Dickins <hughd@google.com>
    Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Huang, Ying" <ying.huang@intel.com>
    Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: Tejun heo <tj@kernel.org>
    Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
    Cc: Yang Shi <shy828301@gmail.com>
    Cc: Nhat Pham <nphamcs@gmail.com>
    Cc: Yosry Ahmed <yosryahmed@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    10969b55
inode.c 44.2 KB