MMIO and gcc re-ordering issue
Jes Sorensen
jes at sgi.com
Mon Jun 2 19:56:39 EST 2008
Jeremy Higdon wrote:
> We don't actually have that problem on the Altix. All writes issued
> by CPU X will be ordered with respect to each other. But writes by
> CPU X and CPU Y will not be, unless an mmiowb() is done by the
> original CPU before the second CPU writes. I.e.
>
> CPU X writel
> CPU X writel
> CPU X mmiowb
>
> CPU Y writel
> ...
>
> Note that this implies some sort of locking. Also note that if in
> the above, CPU Y did the mmiowb, that would not work.
Hmmm,
Then it's less bad than I thought - my apologies for the confusion.
Would we be able to use Ben's trick of setting a per cpu flag in
writel() then and checking that in spin unlock issuing the mmiowb()
there if needed?
Cheers,
Jes
More information about the Linuxppc-dev
mailing list