diff for duplicates of <1478806599.7430.139.camel@kernel.crashing.org> diff --git a/a/1.txt b/N1/1.txt index d983ef1..d76cab1 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -20,274 +20,274 @@ Ben. > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> > --- -> arch/arm/include/asm/hugetlb-3level.h | 8 ++++---- -> arch/arm64/include/asm/hugetlb.h | 4 ++-- -> arch/arm64/mm/hugetlbpage.c | 7 +++++-- -> arch/ia64/include/asm/hugetlb.h | 8 ++++---- -> arch/metag/include/asm/hugetlb.h | 8 ++++---- -> arch/mips/include/asm/hugetlb.h | 7 ++++--- -> arch/parisc/include/asm/hugetlb.h | 4 ++-- -> arch/parisc/mm/hugetlbpage.c | 6 ++++-- -> arch/powerpc/include/asm/book3s/32/pgtable.h | 4 ++-- -> arch/powerpc/include/asm/book3s/64/hugetlb.h | 10 ++++++++++ -> arch/powerpc/include/asm/book3s/64/pgtable.h | 9 --------- -> arch/powerpc/include/asm/hugetlb.h | 6 +++--- -> arch/powerpc/include/asm/nohash/32/pgtable.h | 4 ++-- -> arch/powerpc/include/asm/nohash/64/pgtable.h | 4 ++-- -> arch/s390/include/asm/hugetlb.h | 12 ++++++------ -> arch/s390/mm/hugetlbpage.c | 3 ++- -> arch/sh/include/asm/hugetlb.h | 8 ++++---- -> arch/sparc/include/asm/hugetlb.h | 6 +++--- -> arch/sparc/mm/hugetlbpage.c | 3 ++- -> arch/tile/include/asm/hugetlb.h | 8 ++++---- -> arch/x86/include/asm/hugetlb.h | 8 ++++---- -> mm/hugetlb.c | 6 +++--- -> 22 files changed, 76 insertions(+), 67 deletions(-) +> A arch/arm/include/asm/hugetlb-3level.hA A A A A A A A |A A 8 ++++---- +> A arch/arm64/include/asm/hugetlb.hA A A A A A A A A A A A A |A A 4 ++-- +> A arch/arm64/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A A |A A 7 +++++-- +> A arch/ia64/include/asm/hugetlb.hA A A A A A A A A A A A A A |A A 8 ++++---- +> A arch/metag/include/asm/hugetlb.hA A A A A A A A A A A A A |A A 8 ++++---- +> A arch/mips/include/asm/hugetlb.hA A A A A A A A A A A A A A |A A 7 ++++--- +> A arch/parisc/include/asm/hugetlb.hA A A A A A A A A A A A |A A 4 ++-- +> A arch/parisc/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A |A A 6 ++++-- +> A arch/powerpc/include/asm/book3s/32/pgtable.h |A A 4 ++-- +> A arch/powerpc/include/asm/book3s/64/hugetlb.h | 10 ++++++++++ +> A arch/powerpc/include/asm/book3s/64/pgtable.h |A A 9 --------- +> A arch/powerpc/include/asm/hugetlb.hA A A A A A A A A A A |A A 6 +++--- +> A arch/powerpc/include/asm/nohash/32/pgtable.h |A A 4 ++-- +> A arch/powerpc/include/asm/nohash/64/pgtable.h |A A 4 ++-- +> A arch/s390/include/asm/hugetlb.hA A A A A A A A A A A A A A | 12 ++++++------ +> A arch/s390/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A A A |A A 3 ++- +> A arch/sh/include/asm/hugetlb.hA A A A A A A A A A A A A A A A |A A 8 ++++---- +> A arch/sparc/include/asm/hugetlb.hA A A A A A A A A A A A A |A A 6 +++--- +> A arch/sparc/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A A |A A 3 ++- +> A arch/tile/include/asm/hugetlb.hA A A A A A A A A A A A A A |A A 8 ++++---- +> A arch/x86/include/asm/hugetlb.hA A A A A A A A A A A A A A A |A A 8 ++++---- +> A mm/hugetlb.cA A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A |A A 6 +++--- +> A 22 files changed, 76 insertions(+), 67 deletions(-) > > diff --git a/arch/arm/include/asm/hugetlb-3level.h b/arch/arm/include/asm/hugetlb-3level.h > index d4014fbe5ea3..b71839e1786f 100644 > --- a/arch/arm/include/asm/hugetlb-3level.h > +++ b/arch/arm/include/asm/hugetlb-3level.h > @@ -49,16 +49,16 @@ static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, -> > ptep_clear_flush(vma, addr, ptep); -> } -> +> > A ptep_clear_flush(vma, addr, ptep); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A unsigned long addr, pte_t *ptep) +> A { > > - return ptep_get_and_clear(mm, addr, ptep); > > + return ptep_get_and_clear(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/arm64/include/asm/hugetlb.h b/arch/arm64/include/asm/hugetlb.h > index bbc1e35aa601..4e54d4b58d3e 100644 > --- a/arch/arm64/include/asm/hugetlb.h > +++ b/arch/arm64/include/asm/hugetlb.h > @@ -76,9 +76,9 @@ extern void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> extern int huge_ptep_set_access_flags(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep, -> > pte_t pte, int dirty); +> A extern int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> > A A A A A A A unsigned long addr, pte_t *ptep, +> > A A A A A A A pte_t pte, int dirty); > -extern pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +extern pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep); +> > A A A A A A unsigned long addr, pte_t *ptep); > -extern void huge_ptep_set_wrprotect(struct mm_struct *mm, > +extern void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep); -> extern void huge_ptep_clear_flush(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep); +> > A A A A A unsigned long addr, pte_t *ptep); +> A extern void huge_ptep_clear_flush(struct vm_area_struct *vma, +> > A A A unsigned long addr, pte_t *ptep); > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > index 2e49bd252fe7..5c8903433cd9 100644 > --- a/arch/arm64/mm/hugetlbpage.c > +++ b/arch/arm64/mm/hugetlbpage.c > @@ -197,10 +197,11 @@ pte_t arch_make_huge_pte(pte_t entry, struct vm_area_struct *vma, -> > return entry; -> } -> +> > A return entry; +> A } +> A > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > pte_t pte; +> > A A A A A A A unsigned long addr, pte_t *ptep) +> A { +> > A pte_t pte; > > + struct mm_struct *mm = vma->vm_mm; -> -> > if (pte_cont(*ptep)) { -> > int ncontig, i; +> A +> > A if (pte_cont(*ptep)) { +> > A int ncontig, i; > @@ -263,9 +264,11 @@ int huge_ptep_set_access_flags(struct vm_area_struct *vma, -> > } -> } -> +> > A } +> A } +> A > -void huge_ptep_set_wrprotect(struct mm_struct *mm, > +void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A A unsigned long addr, pte_t *ptep) +> A { > > + struct mm_struct *mm = vma->vm_mm; > + -> > if (pte_cont(*ptep)) { -> > int ncontig, i; -> > pte_t *cpte; +> > A if (pte_cont(*ptep)) { +> > A int ncontig, i; +> > A pte_t *cpte; > diff --git a/arch/ia64/include/asm/hugetlb.h b/arch/ia64/include/asm/hugetlb.h > index ef65f026b11e..eb1c1d674200 100644 > --- a/arch/ia64/include/asm/hugetlb.h > +++ b/arch/ia64/include/asm/hugetlb.h > @@ -26,10 +26,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte_at(mm, addr, ptep, pte); -> } -> +> > A set_pte_at(mm, addr, ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A unsigned long addr, pte_t *ptep) +> A { > > - return ptep_get_and_clear(mm, addr, ptep); > > + return ptep_get_and_clear(vma->vm_mm, addr, ptep); -> } -> -> static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, +> A } +> A +> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, > @@ -47,10 +47,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/metag/include/asm/hugetlb.h b/arch/metag/include/asm/hugetlb.h > index 905ed422dbeb..310b103127a6 100644 > --- a/arch/metag/include/asm/hugetlb.h > +++ b/arch/metag/include/asm/hugetlb.h > @@ -28,10 +28,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte_at(mm, addr, ptep, pte); -> } -> +> > A set_pte_at(mm, addr, ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A unsigned long addr, pte_t *ptep) +> A { > > - return ptep_get_and_clear(mm, addr, ptep); > > + return ptep_get_and_clear(vma->vm_mm, addr, ptep); -> } -> -> static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, +> A } +> A +> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, > @@ -49,10 +49,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h > index 982bc0685330..4380acbff8e2 100644 > --- a/arch/mips/include/asm/hugetlb.h > +++ b/arch/mips/include/asm/hugetlb.h > @@ -53,11 +53,12 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte_at(mm, addr, ptep, pte); -> } -> +> > A set_pte_at(mm, addr, ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > pte_t clear; -> > pte_t pte = *ptep; +> > A A A A A unsigned long addr, pte_t *ptep) +> A { +> > A pte_t clear; +> > A pte_t pte = *ptep; > > + struct mm_struct *mm = vma->vm_mm; -> -> > pte_val(clear) = (unsigned long)invalid_pte_table; -> > set_pte_at(mm, addr, ptep, clear); +> A +> > A pte_val(clear) = (unsigned long)invalid_pte_table; +> > A set_pte_at(mm, addr, ptep, clear); > @@ -81,10 +82,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/parisc/include/asm/hugetlb.h b/arch/parisc/include/asm/hugetlb.h > index a65d888716c4..3a6070842016 100644 > --- a/arch/parisc/include/asm/hugetlb.h > +++ b/arch/parisc/include/asm/hugetlb.h > @@ -8,7 +8,7 @@ -> void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > pte_t *ptep, pte_t pte); -> +> A void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, +> > A A A A A A pte_t *ptep, pte_t pte); +> A > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr, -> > pte_t *ptep); -> -> static inline int is_hugepage_only_range(struct mm_struct *mm, +> > A A A A A A A pte_t *ptep); +> A +> A static inline int is_hugepage_only_range(struct mm_struct *mm, > @@ -54,7 +54,7 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -void huge_ptep_set_wrprotect(struct mm_struct *mm, > +void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep); -> -> int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> > A A A A unsigned long addr, pte_t *ptep); +> A +> A int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/parisc/mm/hugetlbpage.c b/arch/parisc/mm/hugetlbpage.c > index 5d6eea925cf4..e01fd08ed72c 100644 > --- a/arch/parisc/mm/hugetlbpage.c > +++ b/arch/parisc/mm/hugetlbpage.c > @@ -142,11 +142,12 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> } -> -> +> A } +> A +> A > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr, -> > pte_t *ptep) -> { -> > unsigned long flags; -> > pte_t entry; +> > A A A A A A A pte_t *ptep) +> A { +> > A unsigned long flags; +> > A pte_t entry; > > + struct mm_struct *mm = vma->vma_mm; -> -> > purge_tlb_start(flags); -> > entry = *ptep; +> A +> > A purge_tlb_start(flags); +> > A entry = *ptep; > @@ -157,11 +158,12 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, -> } -> -> +> A } +> A +> A > -void huge_ptep_set_wrprotect(struct mm_struct *mm, > +void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > unsigned long flags; -> > pte_t old_pte; +> > A unsigned long addr, pte_t *ptep) +> A { +> > A unsigned long flags; +> > A pte_t old_pte; > > + struct mm_struct *mm = vma->vm_mm; -> -> > purge_tlb_start(flags); -> > old_pte = *ptep; +> A +> > A purge_tlb_start(flags); +> > A old_pte = *ptep; > diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h > index 0713626e9189..34c8fd0c5d04 100644 > --- a/arch/powerpc/include/asm/book3s/32/pgtable.h > +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h > @@ -216,10 +216,10 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, -> { -> > pte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO); -> } +> A { +> > A pte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO); +> A } > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> +> A } +> A +> A > diff --git a/arch/powerpc/include/asm/book3s/64/hugetlb.h b/arch/powerpc/include/asm/book3s/64/hugetlb.h > index a7d2b6107383..58e00dbbf15c 100644 > --- a/arch/powerpc/include/asm/book3s/64/hugetlb.h > +++ b/arch/powerpc/include/asm/book3s/64/hugetlb.h > @@ -28,4 +28,14 @@ static inline int hstate_get_psize(struct hstate *hstate) -> > return mmu_virtual_psize; -> > } -> } +> > A return mmu_virtual_psize; +> > A } +> A } > + > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > + unsigned long addr, pte_t *ptep) +> > + A A A unsigned long addr, pte_t *ptep) > +{ > > + if ((pte_raw(*ptep) & cpu_to_be64(_PAGE_WRITE)) == 0) > > + return; @@ -295,17 +295,17 @@ Ben. > > + pte_update(vma->vm_mm, addr, ptep, _PAGE_WRITE, 0, 1); > +} > + -> #endif +> A #endif > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h > index 46d739457d68..ef2eef1ba99a 100644 > --- a/arch/powerpc/include/asm/book3s/64/pgtable.h > +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h > @@ -346,15 +346,6 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, -> > pte_update(mm, addr, ptep, _PAGE_WRITE, 0, 0); -> } -> +> > A pte_update(mm, addr, ptep, _PAGE_WRITE, 0, 0); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, -> > - unsigned long addr, pte_t *ptep) +> > - A A A unsigned long addr, pte_t *ptep) > -{ > > - if ((pte_raw(*ptep) & cpu_to_be64(_PAGE_WRITE)) == 0) > > - return; @@ -313,298 +313,304 @@ Ben. > > - pte_update(mm, addr, ptep, _PAGE_WRITE, 0, 1); > -} > - -> #define __HAVE_ARCH_PTEP_GET_AND_CLEAR -> static inline pte_t ptep_get_and_clear(struct mm_struct *mm, -> > unsigned long addr, pte_t *ptep) +> A #define __HAVE_ARCH_PTEP_GET_AND_CLEAR +> A static inline pte_t ptep_get_and_clear(struct mm_struct *mm, +> > A A A A A A A A unsigned long addr, pte_t *ptep) > diff --git a/arch/powerpc/include/asm/hugetlb.h b/arch/powerpc/include/asm/hugetlb.h > index c03e0a3dd4d8..b152e0c8dc4e 100644 > --- a/arch/powerpc/include/asm/hugetlb.h > +++ b/arch/powerpc/include/asm/hugetlb.h > @@ -132,11 +132,11 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte_at(mm, addr, ptep, pte); -> } -> +> > A set_pte_at(mm, addr, ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> #ifdef CONFIG_PPC64 +> > A A A A A unsigned long addr, pte_t *ptep) +> A { +> A #ifdef CONFIG_PPC64 > > - return __pte(pte_update(mm, addr, ptep, ~0UL, 0, 1)); > > + return __pte(pte_update(vma->vm_mm, addr, ptep, ~0UL, 0, 1)); -> #else -> > return __pte(pte_update(ptep, ~0UL, 0)); -> #endif +> A #else +> > A return __pte(pte_update(ptep, ~0UL, 0)); +> A #endif > @@ -146,7 +146,7 @@ static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > pte_t pte; +> > A A unsigned long addr, pte_t *ptep) +> A { +> > A pte_t pte; > > - pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep); > > + pte = huge_ptep_get_and_clear(vma, addr, ptep); -> > flush_hugetlb_page(vma, addr); -> } -> +> > A flush_hugetlb_page(vma, addr); +> A } +> A > diff --git a/arch/powerpc/include/asm/nohash/32/pgtable.h b/arch/powerpc/include/asm/nohash/32/pgtable.h > index 24ee66bf7223..db83c15f1d54 100644 > --- a/arch/powerpc/include/asm/nohash/32/pgtable.h > +++ b/arch/powerpc/include/asm/nohash/32/pgtable.h > @@ -260,10 +260,10 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, -> { -> > pte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO); -> } +> A { +> > A pte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO); +> A } > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> +> A } +> A +> A > diff --git a/arch/powerpc/include/asm/nohash/64/pgtable.h b/arch/powerpc/include/asm/nohash/64/pgtable.h > index 86d49dc60ec6..16c77d923209 100644 > --- a/arch/powerpc/include/asm/nohash/64/pgtable.h > +++ b/arch/powerpc/include/asm/nohash/64/pgtable.h > @@ -257,13 +257,13 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, -> > pte_update(mm, addr, ptep, _PAGE_RW, 0, 0); -> } -> +> > A pte_update(mm, addr, ptep, _PAGE_RW, 0, 0); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > if ((pte_val(*ptep) & _PAGE_RW) == 0) -> > return; -> +> > A A A A unsigned long addr, pte_t *ptep) +> A { +> > A if ((pte_val(*ptep) & _PAGE_RW) == 0) +> > A return; +> A > > - pte_update(mm, addr, ptep, _PAGE_RW, 0, 1); > > + pte_update(vma->vm_mm, addr, ptep, _PAGE_RW, 0, 1); -> } -> -> /* +> A } +> A +> A /* > diff --git a/arch/s390/include/asm/hugetlb.h b/arch/s390/include/asm/hugetlb.h > index 4c7fac75090e..eb411d59ab77 100644 > --- a/arch/s390/include/asm/hugetlb.h > +++ b/arch/s390/include/asm/hugetlb.h > @@ -19,7 +19,7 @@ -> void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > pte_t *ptep, pte_t pte); -> pte_t huge_ptep_get(pte_t *ptep); +> A void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, +> > A A A A A A pte_t *ptep, pte_t pte); +> A pte_t huge_ptep_get(pte_t *ptep); > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep); -> -> /* +> > A A A A A A A unsigned long addr, pte_t *ptep); +> A +> A /* > @@ -50,7 +50,7 @@ static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr, -> static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, -> > unsigned long address, pte_t *ptep) -> { +> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, +> > A A unsigned long address, pte_t *ptep) +> A { > > - huge_ptep_get_and_clear(vma->vm_mm, address, ptep); > > + huge_ptep_get_and_clear(vma, address, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > @@ -59,17 +59,17 @@ static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, -> { -> > int changed = !pte_same(huge_ptep_get(ptep), pte); -> > if (changed) { +> A { +> > A int changed = !pte_same(huge_ptep_get(ptep), pte); +> > A if (changed) { > > - huge_ptep_get_and_clear(vma->vm_mm, addr, ptep); > > + huge_ptep_get_and_clear(vma, addr, ptep); -> > set_huge_pte_at(vma->vm_mm, addr, ptep, pte); -> > } -> > return changed; -> } -> +> > A set_huge_pte_at(vma->vm_mm, addr, ptep, pte); +> > A } +> > A return changed; +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - pte_t pte = huge_ptep_get_and_clear(mm, addr, ptep); > > - set_huge_pte_at(mm, addr, ptep, pte_wrprotect(pte)); > > + pte_t pte = huge_ptep_get_and_clear(vma, addr, ptep); > > + set_huge_pte_at(vma->vm_mm, addr, ptep, pte_wrprotect(pte)); -> } -> -> static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot) +> A } +> A +> A static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot) > diff --git a/arch/s390/mm/hugetlbpage.c b/arch/s390/mm/hugetlbpage.c > index cd404aa3931c..61146137b0d2 100644 > --- a/arch/s390/mm/hugetlbpage.c > +++ b/arch/s390/mm/hugetlbpage.c > @@ -136,12 +136,13 @@ pte_t huge_ptep_get(pte_t *ptep) -> > return __rste_to_pte(pte_val(*ptep)); -> } -> +> > A return __rste_to_pte(pte_val(*ptep)); +> A } +> A > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > pte_t pte = huge_ptep_get(ptep); -> > pmd_t *pmdp = (pmd_t *) ptep; -> > pud_t *pudp = (pud_t *) ptep; +> > A A A A A A A unsigned long addr, pte_t *ptep) +> A { +> > A pte_t pte = huge_ptep_get(ptep); +> > A pmd_t *pmdp = (pmd_t *) ptep; +> > A pud_t *pudp = (pud_t *) ptep; > > + struct mm_struct *mm = vma->vm_mm; -> -> > if ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) -> > pudp_xchg_direct(mm, addr, pudp, __pud(_REGION3_ENTRY_EMPTY)); +> A +> > A if ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) +> > A pudp_xchg_direct(mm, addr, pudp, __pud(_REGION3_ENTRY_EMPTY)); > diff --git a/arch/sh/include/asm/hugetlb.h b/arch/sh/include/asm/hugetlb.h > index ef489a56fcce..925cbc0b4da9 100644 > --- a/arch/sh/include/asm/hugetlb.h > +++ b/arch/sh/include/asm/hugetlb.h > @@ -40,10 +40,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte_at(mm, addr, ptep, pte); -> } -> +> > A set_pte_at(mm, addr, ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A unsigned long addr, pte_t *ptep) +> A { > > - return ptep_get_and_clear(mm, addr, ptep); > > + return ptep_get_and_clear(vma->vm_mm, addr, ptep); -> } -> -> static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, +> A } +> A +> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, > @@ -61,10 +61,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/sparc/include/asm/hugetlb.h b/arch/sparc/include/asm/hugetlb.h > index dcbf985ab243..c7c21738b46c 100644 > --- a/arch/sparc/include/asm/hugetlb.h > +++ b/arch/sparc/include/asm/hugetlb.h > @@ -8,7 +8,7 @@ -> void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > pte_t *ptep, pte_t pte); -> +> A void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, +> > A A A A A A pte_t *ptep, pte_t pte); +> A > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr, -> > pte_t *ptep); -> -> static inline int is_hugepage_only_range(struct mm_struct *mm, +> > A A A A A A A pte_t *ptep); +> A +> A static inline int is_hugepage_only_range(struct mm_struct *mm, > @@ -46,11 +46,11 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { -> > pte_t old_pte = *ptep; +> > A A A A unsigned long addr, pte_t *ptep) +> A { +> > A pte_t old_pte = *ptep; > > - set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); > > + set_huge_pte_at(vma->vm_mm, addr, ptep, pte_wrprotect(old_pte)); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/sparc/mm/hugetlbpage.c b/arch/sparc/mm/hugetlbpage.c > index 988acc8b1b80..c5d1fb4a83a7 100644 > --- a/arch/sparc/mm/hugetlbpage.c > +++ b/arch/sparc/mm/hugetlbpage.c > @@ -174,10 +174,11 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > maybe_tlb_batch_add(mm, addr + REAL_HPAGE_SIZE, ptep, orig, 0); -> } -> +> > A maybe_tlb_batch_add(mm, addr + REAL_HPAGE_SIZE, ptep, orig, 0); +> A } +> A > -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr, -> > pte_t *ptep) -> { -> > pte_t entry; +> > A A A A A A A pte_t *ptep) +> A { +> > A pte_t entry; > > + struct mm_struct *mm = vma->vm_mm; -> -> > entry = *ptep; -> > if (pte_present(entry)) +> A +> > A entry = *ptep; +> > A if (pte_present(entry)) > diff --git a/arch/tile/include/asm/hugetlb.h b/arch/tile/include/asm/hugetlb.h > index 2fac5be4de26..aab3ff1cdb10 100644 > --- a/arch/tile/include/asm/hugetlb.h > +++ b/arch/tile/include/asm/hugetlb.h > @@ -54,10 +54,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte(ptep, pte); -> } -> +> > A set_pte(ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A unsigned long addr, pte_t *ptep) +> A { > > - return ptep_get_and_clear(mm, addr, ptep); > > + return ptep_get_and_clear(vma->vm_mm, addr, ptep); -> } -> -> static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, +> A } +> A +> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, > @@ -76,10 +76,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h > index 3a106165e03a..47b7a102a6a2 100644 > --- a/arch/x86/include/asm/hugetlb.h > +++ b/arch/x86/include/asm/hugetlb.h > @@ -41,10 +41,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, -> > set_pte_at(mm, addr, ptep, pte); -> } -> +> > A set_pte_at(mm, addr, ptep, pte); +> A } +> A > -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A A unsigned long addr, pte_t *ptep) +> A { > > - return ptep_get_and_clear(mm, addr, ptep); > > + return ptep_get_and_clear(vma->vm_mm, addr, ptep); -> } -> -> static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, +> A } +> A +> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, > @@ -63,10 +63,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) -> > return pte_wrprotect(pte); -> } -> +> > A return pte_wrprotect(pte); +> A } +> A > -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma, -> > unsigned long addr, pte_t *ptep) -> { +> > A A A A unsigned long addr, pte_t *ptep) +> A { > > - ptep_set_wrprotect(mm, addr, ptep); > > + ptep_set_wrprotect(vma->vm_mm, addr, ptep); -> } -> -> static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, +> A } +> A +> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index ec49d9ef1eef..6b140f213e33 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -3182,7 +3182,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, -> > set_huge_pte_at(dst, addr, dst_pte, entry); -> > } else { -> > if (cow) { +> > A set_huge_pte_at(dst, addr, dst_pte, entry); +> > A } else { +> > A if (cow) { > > - huge_ptep_set_wrprotect(src, addr, src_pte); > > + huge_ptep_set_wrprotect(vma, addr, src_pte); -> > mmu_notifier_invalidate_range(src, mmun_start, -> > mmun_end); -> > } +> > A mmu_notifier_invalidate_range(src, mmun_start, +> > A A A A mmun_end); +> > A } > @@ -3271,7 +3271,7 @@ void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, -> > set_vma_resv_flags(vma, HPAGE_RESV_UNMAPPED); -> > } -> +> > A set_vma_resv_flags(vma, HPAGE_RESV_UNMAPPED); +> > A } +> A > > - pte = huge_ptep_get_and_clear(mm, address, ptep); > > + pte = huge_ptep_get_and_clear(vma, address, ptep); -> > tlb_remove_tlb_entry(tlb, ptep, address); -> > if (huge_pte_dirty(pte)) -> > set_page_dirty(page); +> > A tlb_remove_tlb_entry(tlb, ptep, address); +> > A if (huge_pte_dirty(pte)) +> > A set_page_dirty(page); > @@ -4020,7 +4020,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma, -> > continue; -> > } -> > if (!huge_pte_none(pte)) { +> > A continue; +> > A } +> > A if (!huge_pte_none(pte)) { > > - pte = huge_ptep_get_and_clear(mm, address, ptep); > > + pte = huge_ptep_get_and_clear(vma, address, ptep); -> > pte = pte_mkhuge(huge_pte_modify(pte, newprot)); -> > pte = arch_make_huge_pte(pte, vma, NULL, 0); -> > set_huge_pte_at(mm, address, ptep, pte); +> > A pte = pte_mkhuge(huge_pte_modify(pte, newprot)); +> > A pte = arch_make_huge_pte(pte, vma, NULL, 0); +> > A set_huge_pte_at(mm, address, ptep, pte); + +-- +To unsubscribe, send a message with 'unsubscribe linux-mm' in +the body to majordomo@kvack.org. For more info on Linux MM, +see: http://www.linux-mm.org/ . +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index 772c5b6..a1dec7a 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -33,274 +33,274 @@ "\n" "> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\n" "> ---\n" - "> \302\240arch/arm/include/asm/hugetlb-3level.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2408 ++++----\n" - "> \302\240arch/arm64/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2404 ++--\n" - "> \302\240arch/arm64/mm/hugetlbpage.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2407 +++++--\n" - "> \302\240arch/ia64/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2408 ++++----\n" - "> \302\240arch/metag/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2408 ++++----\n" - "> \302\240arch/mips/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2407 ++++---\n" - "> \302\240arch/parisc/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2404 ++--\n" - "> \302\240arch/parisc/mm/hugetlbpage.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2406 ++++--\n" - "> \302\240arch/powerpc/include/asm/book3s/32/pgtable.h |\302\240\302\2404 ++--\n" - "> \302\240arch/powerpc/include/asm/book3s/64/hugetlb.h | 10 ++++++++++\n" - "> \302\240arch/powerpc/include/asm/book3s/64/pgtable.h |\302\240\302\2409 ---------\n" - "> \302\240arch/powerpc/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2406 +++---\n" - "> \302\240arch/powerpc/include/asm/nohash/32/pgtable.h |\302\240\302\2404 ++--\n" - "> \302\240arch/powerpc/include/asm/nohash/64/pgtable.h |\302\240\302\2404 ++--\n" - "> \302\240arch/s390/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 12 ++++++------\n" - "> \302\240arch/s390/mm/hugetlbpage.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2403 ++-\n" - "> \302\240arch/sh/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2408 ++++----\n" - "> \302\240arch/sparc/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2406 +++---\n" - "> \302\240arch/sparc/mm/hugetlbpage.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2403 ++-\n" - "> \302\240arch/tile/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2408 ++++----\n" - "> \302\240arch/x86/include/asm/hugetlb.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2408 ++++----\n" - "> \302\240mm/hugetlb.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2406 +++---\n" - "> \302\24022 files changed, 76 insertions(+), 67 deletions(-)\n" + "> A arch/arm/include/asm/hugetlb-3level.hA A A A A A A A |A A 8 ++++----\n" + "> A arch/arm64/include/asm/hugetlb.hA A A A A A A A A A A A A |A A 4 ++--\n" + "> A arch/arm64/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A A |A A 7 +++++--\n" + "> A arch/ia64/include/asm/hugetlb.hA A A A A A A A A A A A A A |A A 8 ++++----\n" + "> A arch/metag/include/asm/hugetlb.hA A A A A A A A A A A A A |A A 8 ++++----\n" + "> A arch/mips/include/asm/hugetlb.hA A A A A A A A A A A A A A |A A 7 ++++---\n" + "> A arch/parisc/include/asm/hugetlb.hA A A A A A A A A A A A |A A 4 ++--\n" + "> A arch/parisc/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A |A A 6 ++++--\n" + "> A arch/powerpc/include/asm/book3s/32/pgtable.h |A A 4 ++--\n" + "> A arch/powerpc/include/asm/book3s/64/hugetlb.h | 10 ++++++++++\n" + "> A arch/powerpc/include/asm/book3s/64/pgtable.h |A A 9 ---------\n" + "> A arch/powerpc/include/asm/hugetlb.hA A A A A A A A A A A |A A 6 +++---\n" + "> A arch/powerpc/include/asm/nohash/32/pgtable.h |A A 4 ++--\n" + "> A arch/powerpc/include/asm/nohash/64/pgtable.h |A A 4 ++--\n" + "> A arch/s390/include/asm/hugetlb.hA A A A A A A A A A A A A A | 12 ++++++------\n" + "> A arch/s390/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A A A |A A 3 ++-\n" + "> A arch/sh/include/asm/hugetlb.hA A A A A A A A A A A A A A A A |A A 8 ++++----\n" + "> A arch/sparc/include/asm/hugetlb.hA A A A A A A A A A A A A |A A 6 +++---\n" + "> A arch/sparc/mm/hugetlbpage.cA A A A A A A A A A A A A A A A A A |A A 3 ++-\n" + "> A arch/tile/include/asm/hugetlb.hA A A A A A A A A A A A A A |A A 8 ++++----\n" + "> A arch/x86/include/asm/hugetlb.hA A A A A A A A A A A A A A A |A A 8 ++++----\n" + "> A mm/hugetlb.cA A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A |A A 6 +++---\n" + "> A 22 files changed, 76 insertions(+), 67 deletions(-)\n" "> \n" "> diff --git a/arch/arm/include/asm/hugetlb-3level.h b/arch/arm/include/asm/hugetlb-3level.h\n" "> index d4014fbe5ea3..b71839e1786f 100644\n" "> --- a/arch/arm/include/asm/hugetlb-3level.h\n" "> +++ b/arch/arm/include/asm/hugetlb-3level.h\n" "> @@ -49,16 +49,16 @@ static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" - "> > \302\240\tptep_clear_flush(vma, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tptep_clear_flush(vma, addr, ptep);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\treturn ptep_get_and_clear(mm, addr, ptep);\n" "> > +\treturn ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/arm64/include/asm/hugetlb.h b/arch/arm64/include/asm/hugetlb.h\n" "> index bbc1e35aa601..4e54d4b58d3e 100644\n" "> --- a/arch/arm64/include/asm/hugetlb.h\n" "> +++ b/arch/arm64/include/asm/hugetlb.h\n" "> @@ -76,9 +76,9 @@ extern void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> \302\240extern int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep,\n" - "> > \302\240\t\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240pte_t pte, int dirty);\n" + "> A extern int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> > A \t\t\t\tA A A A A A unsigned long addr, pte_t *ptep,\n" + "> > A \t\t\t\tA A A A A A pte_t pte, int dirty);\n" "> -extern pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +extern pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep);\n" + "> > A \t\t\t\tA A A A A unsigned long addr, pte_t *ptep);\n" "> -extern void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +extern void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep);\n" - "> \302\240extern void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\302\240\302\240unsigned long addr, pte_t *ptep);\n" + "> > A \t\t\t\tA A A A unsigned long addr, pte_t *ptep);\n" + "> A extern void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> > A \t\t\t\tA A unsigned long addr, pte_t *ptep);\n" "> diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c\n" "> index 2e49bd252fe7..5c8903433cd9 100644\n" "> --- a/arch/arm64/mm/hugetlbpage.c\n" "> +++ b/arch/arm64/mm/hugetlbpage.c\n" "> @@ -197,10 +197,11 @@ pte_t arch_make_huge_pte(pte_t entry, struct vm_area_struct *vma,\n" - "> > \302\240\treturn entry;\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn entry;\n" + "> A }\n" + "> A \n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tpte_t pte;\n" + "> > A \t\t\tA A A A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tpte_t pte;\n" "> > +\tstruct mm_struct *mm = vma->vm_mm;\n" - "> \302\240\n" - "> > \302\240\tif (pte_cont(*ptep)) {\n" - "> > \302\240\t\tint ncontig, i;\n" + "> A \n" + "> > A \tif (pte_cont(*ptep)) {\n" + "> > A \t\tint ncontig, i;\n" "> @@ -263,9 +264,11 @@ int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" - "> > \302\240\t}\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \t}\n" + "> A }\n" + "> A \n" "> -void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\tA A A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > +\tstruct mm_struct *mm = vma->vm_mm;\n" "> +\n" - "> > \302\240\tif (pte_cont(*ptep)) {\n" - "> > \302\240\t\tint ncontig, i;\n" - "> > \302\240\t\tpte_t *cpte;\n" + "> > A \tif (pte_cont(*ptep)) {\n" + "> > A \t\tint ncontig, i;\n" + "> > A \t\tpte_t *cpte;\n" "> diff --git a/arch/ia64/include/asm/hugetlb.h b/arch/ia64/include/asm/hugetlb.h\n" "> index ef65f026b11e..eb1c1d674200 100644\n" "> --- a/arch/ia64/include/asm/hugetlb.h\n" "> +++ b/arch/ia64/include/asm/hugetlb.h\n" "> @@ -26,10 +26,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte_at(mm, addr, ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\treturn ptep_get_and_clear(mm, addr, ptep);\n" "> > +\treturn ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" "> @@ -47,10 +47,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/metag/include/asm/hugetlb.h b/arch/metag/include/asm/hugetlb.h\n" "> index 905ed422dbeb..310b103127a6 100644\n" "> --- a/arch/metag/include/asm/hugetlb.h\n" "> +++ b/arch/metag/include/asm/hugetlb.h\n" "> @@ -28,10 +28,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte_at(mm, addr, ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\treturn ptep_get_and_clear(mm, addr, ptep);\n" "> > +\treturn ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" "> @@ -49,10 +49,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h\n" "> index 982bc0685330..4380acbff8e2 100644\n" "> --- a/arch/mips/include/asm/hugetlb.h\n" "> +++ b/arch/mips/include/asm/hugetlb.h\n" "> @@ -53,11 +53,12 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte_at(mm, addr, ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tpte_t clear;\n" - "> > \302\240\tpte_t pte = *ptep;\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tpte_t clear;\n" + "> > A \tpte_t pte = *ptep;\n" "> > +\tstruct mm_struct *mm = vma->vm_mm;\n" - "> \302\240\n" - "> > \302\240\tpte_val(clear) = (unsigned long)invalid_pte_table;\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, clear);\n" + "> A \n" + "> > A \tpte_val(clear) = (unsigned long)invalid_pte_table;\n" + "> > A \tset_pte_at(mm, addr, ptep, clear);\n" "> @@ -81,10 +82,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/parisc/include/asm/hugetlb.h b/arch/parisc/include/asm/hugetlb.h\n" "> index a65d888716c4..3a6070842016 100644\n" "> --- a/arch/parisc/include/asm/hugetlb.h\n" "> +++ b/arch/parisc/include/asm/hugetlb.h\n" "> @@ -8,7 +8,7 @@\n" - "> \302\240void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\t\t\302\240\302\240\302\240\302\240\302\240pte_t *ptep, pte_t pte);\n" - "> \302\240\n" + "> A void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" + "> > A \t\tA A A A A pte_t *ptep, pte_t pte);\n" + "> A \n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240pte_t *ptep);\n" - "> \302\240\n" - "> \302\240static inline int is_hugepage_only_range(struct mm_struct *mm,\n" + "> > A \t\t\tA A A A A A pte_t *ptep);\n" + "> A \n" + "> A static inline int is_hugepage_only_range(struct mm_struct *mm,\n" "> @@ -54,7 +54,7 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep);\n" - "> \302\240\n" - "> \302\240int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep);\n" + "> A \n" + "> A int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/parisc/mm/hugetlbpage.c b/arch/parisc/mm/hugetlbpage.c\n" "> index 5d6eea925cf4..e01fd08ed72c 100644\n" "> --- a/arch/parisc/mm/hugetlbpage.c\n" "> +++ b/arch/parisc/mm/hugetlbpage.c\n" "> @@ -142,11 +142,12 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240\n" + "> A }\n" + "> A \n" + "> A \n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tunsigned long flags;\n" - "> > \302\240\tpte_t entry;\n" + "> > A \t\t\tA A A A A A pte_t *ptep)\n" + "> A {\n" + "> > A \tunsigned long flags;\n" + "> > A \tpte_t entry;\n" "> > +\tstruct mm_struct *mm = vma->vma_mm;\n" - "> \302\240\n" - "> > \302\240\tpurge_tlb_start(flags);\n" - "> > \302\240\tentry = *ptep;\n" + "> A \n" + "> > A \tpurge_tlb_start(flags);\n" + "> > A \tentry = *ptep;\n" "> @@ -157,11 +158,12 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240\n" + "> A }\n" + "> A \n" + "> A \n" "> -void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\tunsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tunsigned long flags;\n" - "> > \302\240\tpte_t old_pte;\n" + "> > A \t\t\t\tunsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tunsigned long flags;\n" + "> > A \tpte_t old_pte;\n" "> > +\tstruct mm_struct *mm = vma->vm_mm;\n" - "> \302\240\n" - "> > \302\240\tpurge_tlb_start(flags);\n" - "> > \302\240\told_pte = *ptep;\n" + "> A \n" + "> > A \tpurge_tlb_start(flags);\n" + "> > A \told_pte = *ptep;\n" "> diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h\n" "> index 0713626e9189..34c8fd0c5d04 100644\n" "> --- a/arch/powerpc/include/asm/book3s/32/pgtable.h\n" "> +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h\n" "> @@ -216,10 +216,10 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,\n" - "> \302\240{\n" - "> > \302\240\tpte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO);\n" - "> \302\240}\n" + "> A {\n" + "> > A \tpte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO);\n" + "> A }\n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240\n" + "> A }\n" + "> A \n" + "> A \n" "> diff --git a/arch/powerpc/include/asm/book3s/64/hugetlb.h b/arch/powerpc/include/asm/book3s/64/hugetlb.h\n" "> index a7d2b6107383..58e00dbbf15c 100644\n" "> --- a/arch/powerpc/include/asm/book3s/64/hugetlb.h\n" "> +++ b/arch/powerpc/include/asm/book3s/64/hugetlb.h\n" "> @@ -28,4 +28,14 @@ static inline int hstate_get_psize(struct hstate *hstate)\n" - "> > \302\240\t\treturn mmu_virtual_psize;\n" - "> > \302\240\t}\n" - "> \302\240}\n" + "> > A \t\treturn mmu_virtual_psize;\n" + "> > A \t}\n" + "> A }\n" "> +\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > +\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" + "> > +\t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" "> +{\n" "> > +\tif ((pte_raw(*ptep) & cpu_to_be64(_PAGE_WRITE)) == 0)\n" "> > +\t\treturn;\n" @@ -308,17 +308,17 @@ "> > +\tpte_update(vma->vm_mm, addr, ptep, _PAGE_WRITE, 0, 1);\n" "> +}\n" "> +\n" - "> \302\240#endif\n" + "> A #endif\n" "> diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h\n" "> index 46d739457d68..ef2eef1ba99a 100644\n" "> --- a/arch/powerpc/include/asm/book3s/64/pgtable.h\n" "> +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h\n" "> @@ -346,15 +346,6 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tpte_update(mm, addr, ptep, _PAGE_WRITE, 0, 0);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tpte_update(mm, addr, ptep, _PAGE_WRITE, 0, 0);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" - "> > -\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" + "> > -\t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" "> -{\n" "> > -\tif ((pte_raw(*ptep) & cpu_to_be64(_PAGE_WRITE)) == 0)\n" "> > -\t\treturn;\n" @@ -326,300 +326,306 @@ "> > -\tpte_update(mm, addr, ptep, _PAGE_WRITE, 0, 1);\n" "> -}\n" "> -\n" - "> \302\240#define __HAVE_ARCH_PTEP_GET_AND_CLEAR\n" - "> \302\240static inline pte_t ptep_get_and_clear(struct mm_struct *mm,\n" - "> > \302\240\t\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" + "> A #define __HAVE_ARCH_PTEP_GET_AND_CLEAR\n" + "> A static inline pte_t ptep_get_and_clear(struct mm_struct *mm,\n" + "> > A \t\t\t\tA A A A A A A unsigned long addr, pte_t *ptep)\n" "> diff --git a/arch/powerpc/include/asm/hugetlb.h b/arch/powerpc/include/asm/hugetlb.h\n" "> index c03e0a3dd4d8..b152e0c8dc4e 100644\n" "> --- a/arch/powerpc/include/asm/hugetlb.h\n" "> +++ b/arch/powerpc/include/asm/hugetlb.h\n" "> @@ -132,11 +132,11 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte_at(mm, addr, ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> \302\240#ifdef CONFIG_PPC64\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> A #ifdef CONFIG_PPC64\n" "> > -\treturn __pte(pte_update(mm, addr, ptep, ~0UL, 0, 1));\n" "> > +\treturn __pte(pte_update(vma->vm_mm, addr, ptep, ~0UL, 0, 1));\n" - "> \302\240#else\n" - "> > \302\240\treturn __pte(pte_update(ptep, ~0UL, 0));\n" - "> \302\240#endif\n" + "> A #else\n" + "> > A \treturn __pte(pte_update(ptep, ~0UL, 0));\n" + "> A #endif\n" "> @@ -146,7 +146,7 @@ static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tpte_t pte;\n" + "> > A \t\t\t\t\tA unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tpte_t pte;\n" "> > -\tpte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" "> > +\tpte = huge_ptep_get_and_clear(vma, addr, ptep);\n" - "> > \302\240\tflush_hugetlb_page(vma, addr);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tflush_hugetlb_page(vma, addr);\n" + "> A }\n" + "> A \n" "> diff --git a/arch/powerpc/include/asm/nohash/32/pgtable.h b/arch/powerpc/include/asm/nohash/32/pgtable.h\n" "> index 24ee66bf7223..db83c15f1d54 100644\n" "> --- a/arch/powerpc/include/asm/nohash/32/pgtable.h\n" "> +++ b/arch/powerpc/include/asm/nohash/32/pgtable.h\n" "> @@ -260,10 +260,10 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,\n" - "> \302\240{\n" - "> > \302\240\tpte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO);\n" - "> \302\240}\n" + "> A {\n" + "> > A \tpte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), _PAGE_RO);\n" + "> A }\n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240\n" + "> A }\n" + "> A \n" + "> A \n" "> diff --git a/arch/powerpc/include/asm/nohash/64/pgtable.h b/arch/powerpc/include/asm/nohash/64/pgtable.h\n" "> index 86d49dc60ec6..16c77d923209 100644\n" "> --- a/arch/powerpc/include/asm/nohash/64/pgtable.h\n" "> +++ b/arch/powerpc/include/asm/nohash/64/pgtable.h\n" "> @@ -257,13 +257,13 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tpte_update(mm, addr, ptep, _PAGE_RW, 0, 0);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tpte_update(mm, addr, ptep, _PAGE_RW, 0, 0);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tif ((pte_val(*ptep) & _PAGE_RW) == 0)\n" - "> > \302\240\t\treturn;\n" - "> \302\240\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tif ((pte_val(*ptep) & _PAGE_RW) == 0)\n" + "> > A \t\treturn;\n" + "> A \n" "> > -\tpte_update(mm, addr, ptep, _PAGE_RW, 0, 1);\n" "> > +\tpte_update(vma->vm_mm, addr, ptep, _PAGE_RW, 0, 1);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240/*\n" + "> A }\n" + "> A \n" + "> A /*\n" "> diff --git a/arch/s390/include/asm/hugetlb.h b/arch/s390/include/asm/hugetlb.h\n" "> index 4c7fac75090e..eb411d59ab77 100644\n" "> --- a/arch/s390/include/asm/hugetlb.h\n" "> +++ b/arch/s390/include/asm/hugetlb.h\n" "> @@ -19,7 +19,7 @@\n" - "> \302\240void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\t\t\302\240\302\240\302\240\302\240\302\240pte_t *ptep, pte_t pte);\n" - "> \302\240pte_t huge_ptep_get(pte_t *ptep);\n" + "> A void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" + "> > A \t\tA A A A A pte_t *ptep, pte_t pte);\n" + "> A pte_t huge_ptep_get(pte_t *ptep);\n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep);\n" - "> \302\240\n" - "> \302\240/*\n" + "> > A \t\t\tA A A A A A unsigned long addr, pte_t *ptep);\n" + "> A \n" + "> A /*\n" "> @@ -50,7 +50,7 @@ static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr,\n" - "> \302\240static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240unsigned long address, pte_t *ptep)\n" - "> \302\240{\n" + "> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> > A \t\t\t\t\tA unsigned long address, pte_t *ptep)\n" + "> A {\n" "> > -\thuge_ptep_get_and_clear(vma->vm_mm, address, ptep);\n" "> > +\thuge_ptep_get_and_clear(vma, address, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> @@ -59,17 +59,17 @@ static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" - "> \302\240{\n" - "> > \302\240\tint changed = !pte_same(huge_ptep_get(ptep), pte);\n" - "> > \302\240\tif (changed) {\n" + "> A {\n" + "> > A \tint changed = !pte_same(huge_ptep_get(ptep), pte);\n" + "> > A \tif (changed) {\n" "> > -\t\thuge_ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" "> > +\t\thuge_ptep_get_and_clear(vma, addr, ptep);\n" - "> > \302\240\t\tset_huge_pte_at(vma->vm_mm, addr, ptep, pte);\n" - "> > \302\240\t}\n" - "> > \302\240\treturn changed;\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \t\tset_huge_pte_at(vma->vm_mm, addr, ptep, pte);\n" + "> > A \t}\n" + "> > A \treturn changed;\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tpte_t pte = huge_ptep_get_and_clear(mm, addr, ptep);\n" "> > -\tset_huge_pte_at(mm, addr, ptep, pte_wrprotect(pte));\n" "> > +\tpte_t pte = huge_ptep_get_and_clear(vma, addr, ptep);\n" "> > +\tset_huge_pte_at(vma->vm_mm, addr, ptep, pte_wrprotect(pte));\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot)\n" + "> A }\n" + "> A \n" + "> A static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot)\n" "> diff --git a/arch/s390/mm/hugetlbpage.c b/arch/s390/mm/hugetlbpage.c\n" "> index cd404aa3931c..61146137b0d2 100644\n" "> --- a/arch/s390/mm/hugetlbpage.c\n" "> +++ b/arch/s390/mm/hugetlbpage.c\n" "> @@ -136,12 +136,13 @@ pte_t huge_ptep_get(pte_t *ptep)\n" - "> > \302\240\treturn __rste_to_pte(pte_val(*ptep));\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn __rste_to_pte(pte_val(*ptep));\n" + "> A }\n" + "> A \n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tpte_t pte = huge_ptep_get(ptep);\n" - "> > \302\240\tpmd_t *pmdp = (pmd_t *) ptep;\n" - "> > \302\240\tpud_t *pudp = (pud_t *) ptep;\n" + "> > A \t\t\tA A A A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tpte_t pte = huge_ptep_get(ptep);\n" + "> > A \tpmd_t *pmdp = (pmd_t *) ptep;\n" + "> > A \tpud_t *pudp = (pud_t *) ptep;\n" "> > +\tstruct mm_struct *mm = vma->vm_mm;\n" - "> \302\240\n" - "> > \302\240\tif ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3)\n" - "> > \302\240\t\tpudp_xchg_direct(mm, addr, pudp, __pud(_REGION3_ENTRY_EMPTY));\n" + "> A \n" + "> > A \tif ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3)\n" + "> > A \t\tpudp_xchg_direct(mm, addr, pudp, __pud(_REGION3_ENTRY_EMPTY));\n" "> diff --git a/arch/sh/include/asm/hugetlb.h b/arch/sh/include/asm/hugetlb.h\n" "> index ef489a56fcce..925cbc0b4da9 100644\n" "> --- a/arch/sh/include/asm/hugetlb.h\n" "> +++ b/arch/sh/include/asm/hugetlb.h\n" "> @@ -40,10 +40,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte_at(mm, addr, ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\treturn ptep_get_and_clear(mm, addr, ptep);\n" "> > +\treturn ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" "> @@ -61,10 +61,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/sparc/include/asm/hugetlb.h b/arch/sparc/include/asm/hugetlb.h\n" "> index dcbf985ab243..c7c21738b46c 100644\n" "> --- a/arch/sparc/include/asm/hugetlb.h\n" "> +++ b/arch/sparc/include/asm/hugetlb.h\n" "> @@ -8,7 +8,7 @@\n" - "> \302\240void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\t\t\302\240\302\240\302\240\302\240\302\240pte_t *ptep, pte_t pte);\n" - "> \302\240\n" + "> A void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" + "> > A \t\tA A A A A pte_t *ptep, pte_t pte);\n" + "> A \n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240pte_t *ptep);\n" - "> \302\240\n" - "> \302\240static inline int is_hugepage_only_range(struct mm_struct *mm,\n" + "> > A \t\t\tA A A A A A pte_t *ptep);\n" + "> A \n" + "> A static inline int is_hugepage_only_range(struct mm_struct *mm,\n" "> @@ -46,11 +46,11 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tpte_t old_pte = *ptep;\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" + "> > A \tpte_t old_pte = *ptep;\n" "> > -\tset_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte));\n" "> > +\tset_huge_pte_at(vma->vm_mm, addr, ptep, pte_wrprotect(old_pte));\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/sparc/mm/hugetlbpage.c b/arch/sparc/mm/hugetlbpage.c\n" "> index 988acc8b1b80..c5d1fb4a83a7 100644\n" "> --- a/arch/sparc/mm/hugetlbpage.c\n" "> +++ b/arch/sparc/mm/hugetlbpage.c\n" "> @@ -174,10 +174,11 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tmaybe_tlb_batch_add(mm, addr + REAL_HPAGE_SIZE, ptep, orig, 0);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tmaybe_tlb_batch_add(mm, addr + REAL_HPAGE_SIZE, ptep, orig, 0);\n" + "> A }\n" + "> A \n" "> -pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,\n" "> +pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma, unsigned long addr,\n" - "> > \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240pte_t *ptep)\n" - "> \302\240{\n" - "> > \302\240\tpte_t entry;\n" + "> > A \t\t\tA A A A A A pte_t *ptep)\n" + "> A {\n" + "> > A \tpte_t entry;\n" "> > +\tstruct mm_struct *mm = vma->vm_mm;\n" - "> \302\240\n" - "> > \302\240\tentry = *ptep;\n" - "> > \302\240\tif (pte_present(entry))\n" + "> A \n" + "> > A \tentry = *ptep;\n" + "> > A \tif (pte_present(entry))\n" "> diff --git a/arch/tile/include/asm/hugetlb.h b/arch/tile/include/asm/hugetlb.h\n" "> index 2fac5be4de26..aab3ff1cdb10 100644\n" "> --- a/arch/tile/include/asm/hugetlb.h\n" "> +++ b/arch/tile/include/asm/hugetlb.h\n" "> @@ -54,10 +54,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte(ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte(ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\treturn ptep_get_and_clear(mm, addr, ptep);\n" "> > +\treturn ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" "> @@ -76,10 +76,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h\n" "> index 3a106165e03a..47b7a102a6a2 100644\n" "> --- a/arch/x86/include/asm/hugetlb.h\n" "> +++ b/arch/x86/include/asm/hugetlb.h\n" "> @@ -41,10 +41,10 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,\n" - "> > \302\240\tset_pte_at(mm, addr, ptep, pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \tset_pte_at(mm, addr, ptep, pte);\n" + "> A }\n" + "> A \n" "> -static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,\n" "> +static inline pte_t huge_ptep_get_and_clear(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\treturn ptep_get_and_clear(mm, addr, ptep);\n" "> > +\treturn ptep_get_and_clear(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,\n" "> @@ -63,10 +63,10 @@ static inline pte_t huge_pte_wrprotect(pte_t pte)\n" - "> > \302\240\treturn pte_wrprotect(pte);\n" - "> \302\240}\n" - "> \302\240\n" + "> > A \treturn pte_wrprotect(pte);\n" + "> A }\n" + "> A \n" "> -static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,\n" "> +static inline void huge_ptep_set_wrprotect(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\t\t\t\302\240\302\240\302\240unsigned long addr, pte_t *ptep)\n" - "> \302\240{\n" + "> > A \t\t\t\t\tA A A unsigned long addr, pte_t *ptep)\n" + "> A {\n" "> > -\tptep_set_wrprotect(mm, addr, ptep);\n" "> > +\tptep_set_wrprotect(vma->vm_mm, addr, ptep);\n" - "> \302\240}\n" - "> \302\240\n" - "> \302\240static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" + "> A }\n" + "> A \n" + "> A static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,\n" "> diff --git a/mm/hugetlb.c b/mm/hugetlb.c\n" "> index ec49d9ef1eef..6b140f213e33 100644\n" "> --- a/mm/hugetlb.c\n" "> +++ b/mm/hugetlb.c\n" "> @@ -3182,7 +3182,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src,\n" - "> > \302\240\t\t\tset_huge_pte_at(dst, addr, dst_pte, entry);\n" - "> > \302\240\t\t} else {\n" - "> > \302\240\t\t\tif (cow) {\n" + "> > A \t\t\tset_huge_pte_at(dst, addr, dst_pte, entry);\n" + "> > A \t\t} else {\n" + "> > A \t\t\tif (cow) {\n" "> > -\t\t\t\thuge_ptep_set_wrprotect(src, addr, src_pte);\n" "> > +\t\t\t\thuge_ptep_set_wrprotect(vma, addr, src_pte);\n" - "> > \302\240\t\t\t\tmmu_notifier_invalidate_range(src, mmun_start,\n" - "> > \302\240\t\t\t\t\t\t\t\t\302\240\302\240\302\240mmun_end);\n" - "> > \302\240\t\t\t}\n" + "> > A \t\t\t\tmmu_notifier_invalidate_range(src, mmun_start,\n" + "> > A \t\t\t\t\t\t\t\tA A A mmun_end);\n" + "> > A \t\t\t}\n" "> @@ -3271,7 +3271,7 @@ void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,\n" - "> > \302\240\t\t\tset_vma_resv_flags(vma, HPAGE_RESV_UNMAPPED);\n" - "> > \302\240\t\t}\n" - "> \302\240\n" + "> > A \t\t\tset_vma_resv_flags(vma, HPAGE_RESV_UNMAPPED);\n" + "> > A \t\t}\n" + "> A \n" "> > -\t\tpte = huge_ptep_get_and_clear(mm, address, ptep);\n" "> > +\t\tpte = huge_ptep_get_and_clear(vma, address, ptep);\n" - "> > \302\240\t\ttlb_remove_tlb_entry(tlb, ptep, address);\n" - "> > \302\240\t\tif (huge_pte_dirty(pte))\n" - "> > \302\240\t\t\tset_page_dirty(page);\n" + "> > A \t\ttlb_remove_tlb_entry(tlb, ptep, address);\n" + "> > A \t\tif (huge_pte_dirty(pte))\n" + "> > A \t\t\tset_page_dirty(page);\n" "> @@ -4020,7 +4020,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma,\n" - "> > \302\240\t\t\tcontinue;\n" - "> > \302\240\t\t}\n" - "> > \302\240\t\tif (!huge_pte_none(pte)) {\n" + "> > A \t\t\tcontinue;\n" + "> > A \t\t}\n" + "> > A \t\tif (!huge_pte_none(pte)) {\n" "> > -\t\t\tpte = huge_ptep_get_and_clear(mm, address, ptep);\n" "> > +\t\t\tpte = huge_ptep_get_and_clear(vma, address, ptep);\n" - "> > \302\240\t\t\tpte = pte_mkhuge(huge_pte_modify(pte, newprot));\n" - "> > \302\240\t\t\tpte = arch_make_huge_pte(pte, vma, NULL, 0);\n" - "> > \302\240\t\t\tset_huge_pte_at(mm, address, ptep, pte);" + "> > A \t\t\tpte = pte_mkhuge(huge_pte_modify(pte, newprot));\n" + "> > A \t\t\tpte = arch_make_huge_pte(pte, vma, NULL, 0);\n" + "> > A \t\t\tset_huge_pte_at(mm, address, ptep, pte);\n" + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -9519ed77e09993d77df130247054056fb25ad3ff4a3947b86e993cd28343a4f7 +51b30ad7f27446edebdaea0e9bce766affbd1f85ab0b32987a70a35da6377272
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.