Re: [patch 7/7] powerpc: lockless get_user_pages_fast

Nick Piggin
2008-06-11T04:47:16Z

On Tue, Jun 10, 2008 at 09:40:25PM -0700, Christoph Lameter wrote:
> On Wed, 11 Jun 2008, Nick Piggin wrote:
>
> > > This is reversing the modification to make get_page_unless_zero() usable
> > > with compound page heads. Will break the slab defrag patchset.
> >
> > Is the slab defrag patchset in -mm? Because you ignored my comment about
> > this change that assertions should not be weakened until required by the
> > actual patchset. I wanted to have these assertions be as strong as
> > possible for the lockless pagecache patchset.
>
> So you are worried about accidentally using get_page_unless_zero on a
> compound page? What would be wrong about that?

Unexpected. Compound pages should have no such races that require
get_page_unless_zero that we very carefully use in page reclaim.

If you don't actually know whether you have a reference to the
thing or not before trying to operate on it, then you're almost
definitely got refcount wrong. How does slab defrag use it?