Re: [RFC] Alternative raceless page free

From: Daniel Phillips (phillips@arcor.de)
Date: Thu Sep 05 2002 - 11:10:48 EST


On Thursday 05 September 2002 18:04, Christian Ehrhardt wrote:
> On Thu, Sep 05, 2002 at 05:21:31PM +0200, Daniel Phillips wrote:
> > On Thursday 05 September 2002 14:34, Christian Ehrhardt wrote:
> > > @@ -455,7 +458,7 @@
> > > } else {
> > > /* failed to drop the buffers so stop here */
> > > UnlockPage(page);
> > > - page_cache_release(page);
> > > + put_page(page);
> > >
> > > spin_lock(&pagemap_lru_lock);
> > > continue;
> > >
> > > looks a bit suspicious. put_page is not allowed if the page is still
> > > on the lru and there is no other reference to it. As we don't hold any
> > > locks between UnlockPage and put_page there is no formal guarantee that
> > > the above condition is met. I don't have another path that could race
> > > with this one though and chances are that there actually is none.
> >
> > The corresponding get_page is just above, you must have overlooked it.

I misspoke. You're right, page_cache_release is the appropriate function
here, not put_page. Fixed, thanks.

-- 
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:25 EST