• Huang Ying's avatar
    mm, hugetlbfs: pass fault address to cow handler · 974e6d66
    Huang Ying authored
    This is to take better advantage of the general huge page copying
    optimization.  Where, the target subpage will be copied last to avoid
    the cache lines of target subpage to be evicted when copying other
    subpages.  This works better if the address of the target subpage is
    available when copying huge page.  So hugetlbfs page fault handlers are
    changed to pass that information to hugetlb_cow().  This will benefit
    workloads which don't access the begin of the hugetlbfs huge page after
    the page fault under heavy cache contention.
    
    Link: http://lkml.kernel.org/r/20180524005851.4079-5-ying.huang@intel.comSigned-off-by: default avatar"Huang, Ying" <ying.huang@intel.com>
    Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Andi Kleen <andi.kleen@intel.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Shaohua Li <shli@fb.com>
    Cc: Christopher Lameter <cl@linux.com>
    Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Punit Agrawal <punit.agrawal@arm.com>
    Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    974e6d66
hugetlb.c 130 KB