lkml.org 
[lkml]   [2012]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/6] THP: Use real address for NUMA policy
    Date
    From: Andi Kleen <ak@linux.intel.com>

    Use the fault address, not the rounded down hpage address for NUMA
    policy purposes. In some circumstances this can give more exact
    NUMA policy.

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    ---
    mm/huge_memory.c | 8 ++++----
    1 files changed, 4 insertions(+), 4 deletions(-)

    diff --git a/mm/huge_memory.c b/mm/huge_memory.c
    index 57c4b93..70737ec 100644
    --- a/mm/huge_memory.c
    +++ b/mm/huge_memory.c
    @@ -681,11 +681,11 @@ static inline gfp_t alloc_hugepage_gfpmask(int defrag, gfp_t extra_gfp)

    static inline struct page *alloc_hugepage_vma(int defrag,
    struct vm_area_struct *vma,
    - unsigned long haddr, int nd,
    + unsigned long address, int nd,
    gfp_t extra_gfp)
    {
    return alloc_pages_vma(alloc_hugepage_gfpmask(defrag, extra_gfp),
    - HPAGE_PMD_ORDER, vma, haddr, nd);
    + HPAGE_PMD_ORDER, vma, address, nd);
    }

    #ifndef CONFIG_NUMA
    @@ -710,7 +710,7 @@ int do_huge_pmd_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
    if (unlikely(khugepaged_enter(vma)))
    return VM_FAULT_OOM;
    page = alloc_hugepage_vma(transparent_hugepage_defrag(vma),
    - vma, haddr, numa_node_id(), 0);
    + vma, address, numa_node_id(), 0);
    if (unlikely(!page)) {
    count_vm_event(THP_FAULT_FALLBACK);
    goto out;
    @@ -944,7 +944,7 @@ int do_huge_pmd_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
    if (transparent_hugepage_enabled(vma) &&
    !transparent_hugepage_debug_cow())
    new_page = alloc_hugepage_vma(transparent_hugepage_defrag(vma),
    - vma, haddr, numa_node_id(), 0);
    + vma, address, numa_node_id(), 0);
    else
    new_page = NULL;

    --
    1.7.7.6


    \
     
     \ /
      Last update: 2012-08-09 19:22    [W:4.161 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site