On Wed, 2008-07-30 at 14:20 +1000, 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.
> Index: linux-work/arch/powerpc/mm/gup.c > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ linux-work/arch/powerpc/mm/gup.c 2008-07-30 14:20:00.000000000 +1000 > @@ -0,0 +1,271 @@ > +/* > + * Lockless get_user_pages_fast for powerpc > + * > + * Copyright (C) 2008 Nick Piggin > + * Copyright (C) 2008 Novell Inc. > + */ > +#undef DEBUG > + > +#include <linux/sched.h> > +#include <linux/mm.h> > +#include <linux/hugetlb.h> > +#include <linux/vmstat.h> > +#include <linux/pagemap.h> > +#include <linux/rwsem.h> > +#include <asm/pgtable.h> > + > +/* > + * The performance critical leaf functions are made noinline otherwise gcc > + * inlines everything into a single function which results in too much > + * register pressure. > + */ This strikes me as something that is liable to change for compiler version n+1, or n with -fsomething - and might leave us shooting ourselves in the foot, just a thought. cheers -- Michael Ellerman OzLabs, IBM Australia Development Lab wwweb: http://michael.ellerman.id.au phone: +61 2 6212 1183 (tie line 70 21183) We do not inherit the earth from our ancestors, we borrow it from our children. - S.M.A.R.T Person
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev