Re: 2.0.34pre15

Peter T. Breuer (
Sun, 17 May 1998 22:50:40 +0200 (MET DST)

"A month of sundays ago Alan Cox wrote:"
> I've made one change to the 3c59x driver. For vortex (3c59x) cards it now
> has bus mastering disabled. If that doesnt work then back to the old one
> alas.

aaargh. Be careful.

If you saw the story of my problems with the 3c905 and the 3c59x drivers
on linux-net, then you'll recall that I saw terrible performance
(2Mb/s) on 100MB nets. I thought I'd broken tcp/ip with my patches of
various kinds but it turned out I hadn't ...

Seems that because between v0.32 - 0.43 or thereabouts the driver couldn't
handle busmastering correctly (in the sense that it locked my P200's solid
randomly when busmastering was enabled) AND there was a coding bug which
meant that module options to disable BM were not observed when the
bus said BM was OK by it, well, ahem, I had patched one line to allow
me to correctly override BM and turn it OFF via a modules option.

About 0.43 or so BM starting being safe, but I kept my one line patch
in since it looked to me as though the code still didn't observe module
options. I also disabled BM via a module option.

My measurements between 0.46 - 0.99 showed terrible performance, but i
couldn't pin it down. Winblowze showed the same kind of failures. I
finally localized it to my one-liner. It seems I was too successful.

Turning off BM on these cards in anything less than a PPro 200 or
better simply blows them apart when subjected to any kind of speed.
They work OK on a 10BT net, but on a 100BT net they oscillate between
working and not working, losing incredible numbers of packets.

Windows aparently has them working also not in BM mode, with more or
less the same results.

I have since enabled BM and taken out my patch and am using 0.46C (and
evaluating 0.99x). I get good performance, though there are one or two
machines I can bring down by streaming data in and out of them in three
different directions simultaneously.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to