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

From: Matthew Wilcox
Date: Tue Jan 27 2004 - 22:11:33 EST


On Wed, Jan 28, 2004 at 10:54:37AM +0900, Hironobu Ishii wrote:
> This is a readX_check() prototype patch to evaluate
> the performance disadvantage.

I think you've just demonstrated why this type of interface is unacceptable:

> + #ifdef CONFIG_PCI_RECOVERY
> + {
> + int read_fail;
> + read_fail = CHIPREG_READ32(&pa, &ioc->chip->ReplyFifo);
> + if (read_fail) {
> + printk("PCI PIO read error:%d\n", read_fail);
> + /* recovery code */
> + }
> + if (pa == 0xFFFFFFFF)
> + return IRQ_HANDLED;
> + }
> + #else
> if ((pa = CHIPREG_READ32(&ioc->chip->ReplyFifo)) == 0xFFFFFFFF)
> return IRQ_HANDLED;
> ! #endif

We go from two easily understood lines to ten plus the recovery code.
If indeed recovery is even possible. An exception framework is clearly
the way to do this.

--
"Next the statesmen will invent cheap lies, putting the blame upon
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince
himself that the war is just, and will thank God for the better sleep
he enjoys after this process of grotesque self-deception." -- Mark Twain
-
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/