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]>
signature.asc
Description: This is a digitally signed message part
