[ltp] cpu load on PCMCIA usage

Maik Musall linux-thinkpad@linux-thinkpad.org
Fri, 15 Nov 2002 01:05:10 +0100


Hello Dean,

thanks for your elaborate answer. Now it seems clear that my LinkSys is
not cardbus and thus cannot achieve higher rates. I will try irqtune to
get response time back to reasonable values.

But there's some thing that's unclear. Although someone already said
that card is 16bit (by looking at it), I remember having tried it with
Windows 2000, where it did achieve about 6-7 MByte/s throughput at
low cpu load. I don't know if I remember correctly since I almost
alwas run Linux and W2k only in a vmware session. I don't want
to reboot now to check because I would lose my uptime (did not
boot since June 6th 2002, only suspend-to-ram... ;-)

I will check next time I'm forced to reboot.

Maik


On Wed, Nov 13, 2002 at 12:46:48PM -0500, Dean L. Hedin wrote:
> Yea, cardbus, that's the problem.  It all depends if your
> PCMCIA controller supports cardbus. 
> 
> The snippet below explains the throughput side of things..
> But what about the CPU load?  I suspect that the code is
> using REP OUTST instructions to fill the ethernet card's
> buffer.   In the normal 16 bit bus/10mb ethernet case this 
> would happen only every so often.   But in the case of a 
> 16 bit bus/100mb ethernet, the CPU performs the REP OUTST 
> to move the data, then the ethernet card imeadiately signals again
> for more data.   The CPU thusly becomes I/O bounded. 
> 
> Kinda sucks huh?  If you do not have cardbus controller, no sense
> in getting a 100mb ethernet card :)
> 
> If the ethernet card signals "empty buffer" with an interrupt, then
> in this case you would want to set the ethernet card interrupt to
> the LOWEST priority in the system.  This won't lighten the CPU load
> but will ensure that other system interrupts get taken care of  ahead
> of the ethernet card (which can't be filled fast enough anyhow).
> 
> So you may want to play with irqtune after all.
> 
> Here is the quote from the PCMCIA HOWTO:
> 
> "16-bit PCMCIA cards have a maximum performance of 1.5-2 MB/sec.  That
> means that any 16-bit 100baseT card (i.e., any card that uses the
> pcnet_cs, 3c574_cs, smc91c92_cs, or xirc2ps_cs
> driver) will never achieve full 100baseT throughput.  Only CardBus
> network adapters can fully exploit 100baseT data rates."
> -- 
> The linux-thinkpad mailing list home page is at:
> http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad

-- 
Maik Musall, maik@musall.de, http://www.musall.de
PGP fingerprint: 99 F6 3D F5 BA 42 50 94  01 36 FA A9 27 9D 3C 39