[PATCH] powerpc/mm: Lockless get_user_pages_fast()

Nick Piggin npiggin at suse.de
Wed Jul 30 23:17:40 EST 2008


On Wed, Jul 30, 2008 at 07:33:26AM -0500, Kumar Gala wrote:
> 
> On Jul 29, 2008, at 10:37 PM, Benjamin Herrenschmidt wrote:
> 
> >From: Nick Piggin <npiggin at suse.de>
> >
> >Implement lockless get_user_pages_fast for powerpc.  Page table  
> >existence
> >is guaranteed with RCU, and speculative page references are used to  
> >take a
> >reference to the pages without having a prior existence guarantee on  
> >them.
> >
> >Signed-off-by: Nick Piggin <npiggin at suse.de>
> >Signed-off-by: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
> >Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> >Cc: Paul Mackerras <paulus at samba.org>
> >Cc: Hugh Dickins <hugh at veritas.com>
> >Cc: "Paul E. McKenney" <paulmck at us.ibm.com>
> >Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
> >Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
> >---
> >
> >I'm going to merge this, sending it to the list for reference, it was
> >in -mm for some time , minus some changes/fixes I did to solve  
> >conflicts
> >with the new multiple huge page sizes.
> >
> >Index: linux-work/arch/powerpc/Kconfig
> >===================================================================
> >--- linux-work.orig/arch/powerpc/Kconfig	2008-07-30  
> >13:17:06.000000000 +1000
> >+++ linux-work/arch/powerpc/Kconfig	2008-07-30 13:27:40.000000000  
> >+1000
> >@@ -42,6 +42,9 @@ config GENERIC_HARDIRQS
> >	bool
> >	default y
> >
> >+config HAVE_GET_USER_PAGES_FAST
> >+	def_bool PPC64
> >+
> >config HAVE_SETUP_PER_CPU_AREA
> >	def_bool PPC64
> 
> what's ppc64 specific here?

I didn't look how 32-bit powerpc does its TLB shootdown and page table
walking, so I don't know if it will work...



More information about the Linuxppc-dev mailing list