RE: Uses for memory barriers

From: David Schwartz
Date: Fri Sep 08 2006 - 01:49:52 EST



> Am I correct? Or are there some easily-explained situations where mb()
> really should be used for inter-CPU synchronization?

Consider when one CPU does the following:

while(!spinlock_acquire()) relax();
x=shared_value_protected_by_spinlock;

We need to make sure we do not *read* the protected values (say due to
prefetching) before other CPUs see our write that locks the spinlock.

DS


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