Store ordering below the compiler level is important. Doing
foo[1]=1;
foo[0]=2;
May well be strictly ordered from the C point of view. What it looks like
to another CPU or on another bus is entirely different to what ANSI says
about the code within program flow.
There are two layers of caches, write buffers on the cpu and the bridges
and also inter cpu cache fill logic all conspiring to anooy you and all below
the C world
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/