On Jul 30, 2008, at 8:17 AM, Nick Piggin wrote:
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
Signed-off-by: Dave Kleikamp <[EMAIL PROTECTED]>
Acked-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
Cc: Paul Mackerras <[EMAIL PROTECTED]>
Cc: Hugh Dickins <[EMAIL PROTECTED]>
Cc: "Paul E. McKenney" <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---
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...
I haven't glanced at your code but we have two cases. Either SW
managed TLBs w/no HW walk or a full HW walk that should be similar to
ppc64 (just no SLBs).
- k
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev