lkml.org 
[lkml]   [2019]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 09/13] parisc/hugetlb: use pgtable-nopXd instead of 4level-fixup
    Date
    From: Helge Deller <deller@gmx.de>

    Signed-off-by: Helge Deller <deller@gmx.de>
    ---
    arch/parisc/mm/hugetlbpage.c | 18 ++++++++++++------
    1 file changed, 12 insertions(+), 6 deletions(-)

    diff --git a/arch/parisc/mm/hugetlbpage.c b/arch/parisc/mm/hugetlbpage.c
    index d578809..0e1e212 100644
    --- a/arch/parisc/mm/hugetlbpage.c
    +++ b/arch/parisc/mm/hugetlbpage.c
    @@ -49,6 +49,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
    unsigned long addr, unsigned long sz)
    {
    pgd_t *pgd;
    + p4d_t *p4d;
    pud_t *pud;
    pmd_t *pmd;
    pte_t *pte = NULL;
    @@ -61,7 +62,8 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
    addr &= HPAGE_MASK;

    pgd = pgd_offset(mm, addr);
    - pud = pud_alloc(mm, pgd, addr);
    + p4d = p4d_offset(pgd, addr);
    + pud = pud_alloc(mm, p4d, addr);
    if (pud) {
    pmd = pmd_alloc(mm, pud, addr);
    if (pmd)
    @@ -74,6 +76,7 @@ pte_t *huge_pte_offset(struct mm_struct *mm,
    unsigned long addr, unsigned long sz)
    {
    pgd_t *pgd;
    + p4d_t *p4d;
    pud_t *pud;
    pmd_t *pmd;
    pte_t *pte = NULL;
    @@ -82,11 +85,14 @@ pte_t *huge_pte_offset(struct mm_struct *mm,

    pgd = pgd_offset(mm, addr);
    if (!pgd_none(*pgd)) {
    - pud = pud_offset(pgd, addr);
    - if (!pud_none(*pud)) {
    - pmd = pmd_offset(pud, addr);
    - if (!pmd_none(*pmd))
    - pte = pte_offset_map(pmd, addr);
    + p4d = p4d_offset(pgd, addr);
    + if (!p4d_none(*p4d)) {
    + pud = pud_offset(p4d, addr);
    + if (!pud_none(*pud)) {
    + pmd = pmd_offset(pud, addr);
    + if (!pmd_none(*pmd))
    + pte = pte_offset_map(pmd, addr);
    + }
    }
    }
    return pte;
    --
    2.7.4
    \
     
     \ /
      Last update: 2019-11-01 09:42    [W:2.536 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site