Messages in this thread | | | From | Jesse Barnes <> | Subject | Re: [patch 2] mm: speculative get_page | Date | Tue, 28 Jun 2005 14:32:30 -0700 |
| |
On Monday, June 27, 2005 10:08 pm, David S. Miller wrote: > From: Nick Piggin <nickpiggin@yahoo.com.au> > Subject: Re: [patch 2] mm: speculative get_page > Date: Tue, 28 Jun 2005 14:50:31 +1000 > > > William Lee Irwin III wrote: > > >On Tue, Jun 28, 2005 at 11:42:16AM +1000, Nick Piggin wrote: > > > > > >spin_unlock() does not imply a memory barrier. > > > > Intriguing... > > BTW, I disagree with this assertion. spin_unlock() does imply a > memory barrier. > > All memory operations before the release of the lock must execute > before the lock release memory operation is globally visible.
On ia64 at least, the unlock is only a one way barrier. The store to realease the lock uses release semantics (since the lock is declared volatile), which implies that prior stores are visible before the unlock occurs, but subsequent accesses can 'float up' above the unlock. See http://www.gelato.unsw.edu.au/linux-ia64/0304/5122.html for some more details.
Jesse - 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/
| |