Re: Unnecessary barrier in sync_page()?

From: Chris Mason
Date: Wed Jul 07 2004 - 16:05:19 EST


On Wed, 2004-07-07 at 14:42, Andrea Arcangeli wrote:
> On Wed, Jul 07, 2004 at 11:29:53AM -0700, Andrew Morton wrote:
> > Andrea Arcangeli <andrea@xxxxxxx> wrote:
> > >
> > > however the smp_mb() isn't needed in sync_page, simply because it's
> > > perfectly ok if we start running sync_page before reading pagelocked.
> > > All we care about is to run sync_page _before_ io_schedule() and that we
> > > read PageLocked _after_ prepare_to_wait_exclusive.
> > >
> > > So the locking in between PageLocked and sync_page is _absolutely_
> > > worthless and the smp_mb() can go away.
> >
> > IIRC, Chris added that barrier (and several similar) for the reads in
> > page_mapping().
>
> how does it help to know the page is not locked before executing
> page_mapped?

I wasn't worried about the locked bit when I added the barrier, my goal
was to order things with people that set page->mapping to null.

-chris


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