[ltp] cpu load on PCMCIA usage

Dean L. Hedin linux-thinkpad@linux-thinkpad.org
Thu, 14 Nov 2002 07:41:18 -0500


Is it the fact that the LinkSys card is not cardbus or that your
PCMCIA controller is not cardbus?

It would seem silly that someone would make a 100mb ethernet
card that was not cardbus capable.

Although I could imagine that they would allow it to plug into
a 16bit only PCMCIA slot so that you could still use it.

On Thursday 14 November 2002 07:05 pm, Maik Musall wrote:
> 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