Messages in this thread |  | | | From | Roland Dreier <> | | Subject | Re: MMIO and gcc re-ordering issue | | Date | Tue, 27 May 2008 10:38:56 -0700 |
| |
> Actually, this specifically should not be. The need for mmiowb on altix > is because it explicitly violates some of the PCI rules that would > otherwise impede performance. The compromise is that readX on altix > contains the needed dma flush but there's a variant operator, > readX_relaxed that doesn't (for drivers that know what they're doing). > The altix critical drivers have all been converted to use the relaxed > form for performance, and the unconverted ones should all operate just > fine (albeit potentially more slowly).
Is this a recent change? Because as of October 2007, 76d7cc03 ("IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up") was needed. But this was involving writel() (__raw_writel() actually, looking at the code), not readl(). But writel_relaxed() doesn't exist (and doesn't make sense).
- R.
|  |