Re: wmb versus smp_wmb

From: Francois Romieu
Date: Sat Jun 19 2004 - 06:12:10 EST


Margit Schubert-While <margitsw@xxxxxxxxxxx> :
> As the $SUBJECT implies, when should one use
> wmb() versus smp_wmb() ?

If the code which must see the variable(s) modified before the
wmb() can run on a separate CPU, then it should be a smp_wmb().

For instance host H1 wants to update A then B and host H2 needs to
be sure that if it reads the updated value of B, then it reads
the updated value of A as well. B could be an event that uses a
different channel instead of a memory update.

Usually (for me :o) ), the issue between the two (or more) CPUs is
complicated by the fact that there is some device behind a PCI bus
whose behavior depends on the same data as well.

Suggested reading: Schimmel + Aspirin recommended use.

--
Ueimor
-
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/