Re: Linux 2.4.21-pre3-ac4

Richard B. Johnson (root@chaos.analogic.com)
Mon, 13 Jan 2003 20:20:10 -0500 (EST)


On 13 Jan 2003, Benjamin Herrenschmidt wrote:

> On Mon, 2003-01-13 at 22:40, Richard B. Johnson wrote:
>
> > There is a well-defined procedure for this. Any "read" anywhere
> > in the PCI address space, will force all posted writes to complete.
> > However, the "read" will not be the data one would obtain after
> > the write completes.
>
> Just to avoid confusion, the above is obviously wrong, the read will
> indeed force pending store queues to complete _in order_, the read will
> reach the device after the stores are complete and you'll read the value
> you would get after the write normally. At least on PCI ;)
>
> Ben.
>

It is not, as you say; "obviously wrong". It is, in fact correct.
If you think you will get, as previously stated, the current status
by reading the status register of a device, while a posted-write
is in-progress, the code is broken. There are warnings all over
PCI device hardware specifications about this.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.

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