Re: [PATCH 22/71] ncr5380: Eliminate selecting state

From: Finn Thain
Date: Sun Nov 29 2015 - 21:12:58 EST



On Sun, 29 Nov 2015, Geert Uytterhoeven wrote:

> If an ISA access takes 8 us, while the CPU runs at 1 GHz, i.e. 500M
> loops/s, the difference will be huge.

Ondrej showed that an ISA access can take about 1.6 us. I don't know what
to make of the "8 uS" comment in the mainline driver. Maybe it was an even
slower ISA card.

Anyway, I made a measurement on my hardware and confirmed that lpj is a
very bad proxy for device register access throughput. The "loops per
access" gap is several orders of magnitude:

lpj HZ access time (us) lpa
------------------------------------------------------------------------
Ondrej's 5380 ISA card (PC): 4797252 250 1.6 1.9k
My DMX3191D PCI card (PowerMac): 167079 100 0.42 7.0

>
> Perhaps you can calibrate an NCR5380_read() loop at driver init time,
> and use the calibration value later?

I had the same idea but I didn't think that the complexity was justified
by the low precision requirement. But now that I have some timings I have
to agree.

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