Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email email@example.com
From: Jean Tourrilhes (jtbougret.hpl.hp.com)
Date: Tue Dec 18 2001 - 17:14:17 CST
On Tue, Dec 18, 2001 at 03:26:51PM +1100, David Gibson wrote:
> > Anyway, if we didn't get the event, there is trouble
> > somewhere. I did extensive testing last week on my SMP box and I've
> > never seen a single valid case where we needed a fake event (extensive
> > as cross UDP streams).
> Ok, that's good to know. Did you test old firmware versions - maybe
> the problem only showed up on the really early cards.
I had to fix the cor_reset, and then everything work fine with
firmware 1.16. I never see a NULL event.
My belief is that Andreas, when writing the initial driver,
got seriously confused with the ALLOC event and never seeing any TX
event and made this crude workaround.
> I've just pushed a new version which reorganises the IRQ handler in a
> way which should fix the problem, although I've done it a little
> differently from your patch: I only do a netif_wake_queue() on ALLOC
> events, not on TX or TXEXC, on the basis that we don't get them now,
> and if we add the bits to get them later we should still get the ALLOC
Yes, I like the way you have done it. vvery sensible.
> In fact as I mentioned before it's not clear that the buffer
> is safe for re-use between the TX and ALLOC anyway, so we should wait
> for the ALLOC.
That's the reverse, the ALLOC event arrives before the TX
event (see my log).
> At the moment I seem to be getting a Tx timeout as
> soon as the driver loads, but then it resets and works. I'm not sure
> what the problem here is.
Probably the COR reset. It was optional for a reason.
Ok, I did a patch that fix all the remaining problems with the
driver and also fix a few little details based on my latest
experiments. Please see attached.
I've been doing a bit of testing, and it seems solid. Nice
throughput on my SMP box (netperf reliably says 5Mb/s), and resist
cross UDP stress test.
Wow, I'm glad we are putting this nasty bug behind us, with
all the other cleanups, I feel that the next release should be real
solid. The only thing left is checking the RSSI formula.
- text/plain attachment: ori.8c.irq_rate.diff