On Sun, 2005-02-13 at 14:07 -0700, Jamie Painter wrote:
> I've observed poor receive performance in 100baseTx-FD mode from ax8817x 
> devices in all versions of usbnet.c.  Half-duplex received performance 
> is actually better than full duplex.  After some investigation, I found 
> that the MEDIUM_MODE wasn't being written, and this seems to affect 
> "Pause frame" full duplex flow control.
> 
> The attached patch to 2.6.10, which sets the medium mode in an 
> ax8817x_reset function, doubled my full duplex performance (from ~45Mbps 
> to >90Mbps).
> --Jamie

The only issue that I see is that the usbnet_open() function (which
calls the ax8817x_reset) is only called when the interface is brought
from DOWN to UP state.  If I initially connect to a 100FD switch, then
unplug and plug into a 10HD hub, things may get squirrely.  If I bring
the device down and back up, things will reset and I'll be fine.  Would
it possibly be better to handle this within the interrupt handler that
sees when link changes?  That is an in_interrupt() call so you'd have to
use the async read/write_cmd calls and implement an FSM to handle it.
But there weren't too many calls so it shouldn't be a major issue.

-- 
David Hollis <[EMAIL PROTECTED]>

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to