Re: RFC: patch to allow lock-free traversal of lists with insertion

From: David S. Miller (davem@redhat.com)
Date: Mon Oct 08 2001 - 21:18:47 EST


   From: "Paul E. McKenney" <pmckenne@us.ibm.com>
   Date: Mon, 8 Oct 2001 18:55:24 -0700 (PDT)

   I am particularly interested in comments from people who understand
   the detailed operation of the SPARC membar instruction and the PARISC
   SYNC instruction. My belief is that the membar("#SYNC") and SYNC
   instructions are sufficient,
   
SYNC is sufficient but way too strict. You don't explicitly say what
you need to happen. If you need all previous stores to finish
before all subsequent memory operations then:

        membar #StoreStore | #StoreLoad

is sufficient. If you need all previous memory operations to finish
before all subsequent stores then:

        membar #StoreStore | #LoadStore

is what you want.

   Thoughts?

I think if you need to perform IPIs and junk like that to make the
memory barrier happen correctly, just throw your code away and use a
spinlock instead.

Franks a lot,
David S. Miller
davem@redhat.com
-
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 : Mon Oct 15 2001 - 21:00:22 EST