Re: [RFC/PATCH, 2/4] readX_check() performance evaluation

From: Paul Mackerras
Date: Tue Jan 27 2004 - 23:51:58 EST


Linus Torvalds writes:

> Does anybody see any downsides to something like this?

Looks OK to me.

On pSeries (ppc64) machines, we don't get an asynchronous machine
check, but instead the read will return all 1s, and the system will
isolate the slot and arrange that all further reads return all 1s.
If you get all 1s back on a read, you are supposed to do a firmware
call to find out if there was actually an error.

With your design, I would make readX_check set a bit somewhere
(associated with the dev argument) if it saw all 1s, and then make
read_pcix_errors do the firmware call if the bit is set.

The only thing to be careful of is that drivers cope correctly with an
all-1s value returned. E.g. they shouldn't do:

while (readb_check(dev, offset) & BUSY)
udelay(1);

But of course they shouldn't do that anyway. :)

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/