Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH] Document Linux's memory barriers [try #4] | Date | Tue, 14 Mar 2006 23:59:28 +0000 |
| |
Paul Mackerras <paulus@samba.org> wrote:
> No, that's not the problem. The problem is that you can get q == &b > and d == 1, believe it or not. That is, you can see the new value of > the pointer but the old value of the thing pointed to.
But that doesn't make any sense!
That would mean we that we'd've read b into d before having read the new value of p into q, and thus before having calculated the address from which to read d (ie: &b) - so how could we know we were supposed to read d from b and not from a without first having read p?
Unless, of course, the smp_wmb() isn't effective, and the write to b happens after the write to p; or the Alpha's cache isn't fully coherent.
David - 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/
| |