[PATCH v3 1/6] powerpc/mm: update ptep_set_access_flag to not do full mm tlb flush
Balbir Singh
bsingharora at gmail.com
Tue Nov 22 13:55:25 AEDT 2016
On 22/11/16 05:33, Aneesh Kumar K.V wrote:
> When we are updating pte, we just need to flush the tlb mapping for
> that pte. Right now we do a full mm flush because we don't track page
> size. Update the interface to track the page size and use that to
> do the right tlb flush.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
> ---
> arch/powerpc/include/asm/book3s/32/pgtable.h | 4 +++-
> arch/powerpc/include/asm/book3s/64/pgtable.h | 7 +++++--
> arch/powerpc/include/asm/book3s/64/radix.h | 14 +++++++-------
> arch/powerpc/include/asm/nohash/32/pgtable.h | 4 +++-
> arch/powerpc/include/asm/nohash/64/pgtable.h | 4 +++-
> arch/powerpc/mm/pgtable-book3s64.c | 3 ++-
> arch/powerpc/mm/pgtable-radix.c | 16 ++++++++++++++++
> arch/powerpc/mm/pgtable.c | 10 ++++++++--
> arch/powerpc/mm/tlb-radix.c | 15 ---------------
> 9 files changed, 47 insertions(+), 30 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h
> index 6b8b2d57fdc8..0713626e9189 100644
> --- a/arch/powerpc/include/asm/book3s/32/pgtable.h
> +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h
> @@ -224,7 +224,9 @@ static inline void huge_ptep_set_wrprotect(struct mm_struct *mm,
>
>
> static inline void __ptep_set_access_flags(struct mm_struct *mm,
> - pte_t *ptep, pte_t entry)
> + pte_t *ptep, pte_t entry,
> + unsigned long address,
> + unsigned long pg_sz)
I wonder if the change can be limited in scope by passing the struct vma instead
of struct mm as the first argument and not passing pg_sz (I don't like that
name at all, page_size if we decide to do it, please). Then extract the mm from
vma->mm
Balbir Singh.
More information about the Linuxppc-dev
mailing list