Re: I/O write ordering

Benjamin Herrenschmidt
2004-09-22T14:55:31Z

> I favour 1. iomb; I think, since I/O barriers can be either heavyweight
> or non-existent depending on the architecture, iomb() should imply mb()
> but not vice versa.

Read & write barriers are different for IO. Actually, as I stated earlier,
the real issue isn't much with IO barriers proper (which are mostly dealt
with within the implementation of the IO accessors), but in IO vs. memory
accesses, at least on PPC. Cacheable and non-cacheable accesses go through
completely different path on the CPU and can be completely re-ordered one
to each other unless more heavy barriers are used. That has been a pain
for ages for us since Linux doesn't provide an abstraction to order those,
it would be nice to get that in place now ;)

Ben.