[openib-general] Re: MMIO reads for IPoIB w/MSI-X

Grant Grundler iod00d at hp.com
Mon Jan 24 17:04:55 PST 2005


On Mon, Jan 24, 2005 at 10:39:46AM -0800, Michael Krause wrote:
> It is the consensus within the industry that PIO Reads (MMIO) are pure 
> "evil"

"evil" is relative and I considered "udelay()" much more evil.
I'm happy most of the linux kernel is using MMIO instead of IO Port space.

To be really clear, I agree MMIO reads are bad and want to discourage
use of MMIO reads where I can.
I was just using an available tool (pfmon) to quantify how many MMIO
reads Openib/mthca driver was performing (none).


> and should be avoided in any main line data path including the 
> interrupt path. They should be confined to configuration / status / etc. 
> checks and thus are very infrequent.

Totally agree. But that doesn't prevent SW from using MMIO reads
because the programmer didn't know any better (no offense roland,
you obviously do) or to work around HW bugs.
e.g. See tg3 driver and how it support BCM5700 chips.

> The problem only gets worse (not just because of the number of 
> chip crossings) but also because the amount of cycles stalled as clock 
> speeds increase.

Yes - the URL I posted has some real life examples in the
section *after* "CPU vs IO Clock speeds":
	http://iou.parisc-linux.org/ols2002/www/index.html

ugh...I need to rewrite that bit - it could be alot clearer.

grant



More information about the general mailing list