OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Jean Tourrilhes (jtbougret.hpl.hp.com)
Date: Tue Dec 18 2001 - 17:14:17 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    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
    > events.

            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.

            Have fun...

            Jean