lkml.org 
[lkml]   [2014]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 23/27] sparc: Use common bits from generic tlb.h
On Wed, May 14, 2014 at 10:04:41PM +0200, Richard Weinberger wrote:
> Am 14.05.2014 21:55, schrieb Sam Ravnborg:
> > On Wed, May 14, 2014 at 08:59:55PM +0200, Richard Weinberger wrote:
> >> It is no longer needed to define them on our own.
> >>
> >> Cc: "David S. Miller" <davem@davemloft.net>
> >> Cc: Richard Weinberger <richard@nod.at>
> >> Cc: sparclinux@vger.kernel.org
> >> Cc: linux-kernel@vger.kernel.org
> >> Signed-off-by: Richard Weinberger <richard@nod.at>
> >> ---
> >> arch/sparc/include/asm/tlb_32.h | 8 --------
> >> arch/sparc/include/asm/tlb_64.h | 3 ---
> >> 2 files changed, 11 deletions(-)
> >>
> >> diff --git a/arch/sparc/include/asm/tlb_32.h b/arch/sparc/include/asm/tlb_32.h
> >> index 6d02d1c..60641a1 100644
> >> --- a/arch/sparc/include/asm/tlb_32.h
> >> +++ b/arch/sparc/include/asm/tlb_32.h
> >> @@ -11,14 +11,6 @@ do { \
> >> flush_tlb_range(vma, vma->vm_start, vma->vm_end); \
> >> } while (0)
> >>
> >> -#define __tlb_remove_tlb_entry(tlb, pte, address) \
> >> - do { } while (0)
> >> -
> >> -#define tlb_flush(tlb) \
> >> -do { \
> >> - flush_tlb_mm((tlb)->mm); \
> >> -} while (0)
> >> -
> >> #include <asm-generic/tlb.h>
> >>
> >> #endif /* _SPARC_TLB_H */
> >
> > This part looks OK.
> >
> >> diff --git a/arch/sparc/include/asm/tlb_64.h b/arch/sparc/include/asm/tlb_64.h
> >> index 190e189..36fdcec 100644
> >> --- a/arch/sparc/include/asm/tlb_64.h
> >> +++ b/arch/sparc/include/asm/tlb_64.h
> >> @@ -22,9 +22,6 @@ extern void smp_flush_tlb_mm(struct mm_struct *mm);
> >> extern void __flush_tlb_pending(unsigned long, unsigned long, unsigned long *);
> >> extern void flush_tlb_pending(void);
> >>
> >> -#define tlb_start_vma(tlb, vma) do { } while (0)
> >> -#define tlb_end_vma(tlb, vma) do { } while (0)
> >> -#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)
> >> #define tlb_flush(tlb) flush_tlb_pending()
> >>
> >> #include <asm-generic/tlb.h>
> >
> > This does not fly for sparc64.
> > __pte_free_tlb is a static inline in pgalloc_64.h so no
> > define exist to teach tlb.h that an arch override exist.
>
> Okay, we need a #define __pte_free_tlb __pte_free_tlb.
>
> > Likewise for __pmd_free_tlb
>
> __pmd_free_tlb is already a macro so the generic tlb.h should handle it correctly.
>
> #define __pmd_free_tlb(tlb, pmd, addr) \
> pgtable_free_tlb(tlb, pmd, false)
>
> I'd move both __pmd_free_tlb and __pte_free_tlb into tlb.h such that the include order
> of tlb.h vs pgalloc.h does not matter.
> Are you fine with that?
Yes, as long as sparc64 continue to build it makes good sense
to define these in the same file as done by most other architectures.

Sam
>
> Thanks,
> //richard


\
 
 \ /
  Last update: 2014-05-15 04:21    [W:0.311 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site