• Joao Martins's avatar
    hugetlb: batch TLB flushes when freeing vmemmap · f13b83fd
    Joao Martins authored
    Now that a list of pages is deduplicated at once, the TLB flush can be
    batched for all vmemmap pages that got remapped.
    
    Expand the flags field value to pass whether to skip the TLB flush on
    remap of the PTE.
    
    The TLB flush is global as we don't have guarantees from caller that the
    set of folios is contiguous, or to add complexity in composing a list of
    kVAs to flush.
    
    Modified by Mike Kravetz to perform TLB flush on single folio if an
    error is encountered.
    
    Link: https://lkml.kernel.org/r/20231019023113.345257-8-mike.kravetz@oracle.comSigned-off-by: default avatarJoao Martins <joao.m.martins@oracle.com>
    Signed-off-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
    Reviewed-by: default avatarMuchun Song <songmuchun@bytedance.com>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Barry Song <21cnbao@gmail.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: James Houghton <jthoughton@google.com>
    Cc: Konrad Dybcio <konradybcio@kernel.org>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Miaohe Lin <linmiaohe@huawei.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Naoya Horiguchi <naoya.horiguchi@linux.dev>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
    Cc: Usama Arif <usama.arif@bytedance.com>
    Cc: Xiongchun Duan <duanxiongchun@bytedance.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    f13b83fd
hugetlb_vmemmap.c 22.2 KB