Arjan de Vet | 1 Nov 2004 20:16

Re: kern/73038: if_sk.c seems to need IFF_NEEDSGIANT on 5.3-BETA/RC1

After upgrading to 5.3-RC2 (RELENG_5_3 branch, Nov 1st approx. 1700UTC)
I cannot reproduce this if_sk problem anymore: I am now running 5.3-RC2
without debug.mpsafenet="0" in /boot/loader.conf and so far no
networking trouble whatsoever.

Arjan
_______________________________________________
freebsd-bugs <at> freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe <at> freebsd.org"

Arjan de Vet | 1 Nov 2004 21:26

Re: kern/73038: if_sk.c seems to need IFF_NEEDSGIANT on 5.3-BETA/RC1

I wrote:

>After upgrading to 5.3-RC2 (RELENG_5_3 branch, Nov 1st approx. 1700UTC)
>I cannot reproduce this if_sk problem anymore: I am now running 5.3-RC2
>without debug.mpsafenet="0" in /boot/loader.conf and so far no
>networking trouble whatsoever.

I spoke too early :-(. After a reboot without any configuration changes
I see the broken SSH connections and broken web pages appear again. So
I'm using debug.mpsafenet=0 again with if_sk.c.

Arjan
_______________________________________________
freebsd-bugs <at> freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe <at> freebsd.org"

Arjan de Vet | 4 Nov 2004 10:32

Re: kern/73038: if_sk.c seems to need IFF_NEEDSGIANT on 5.3-BETA/RC1

I'm happy to report that the following patch by Peter Edwards (posted to
a.o. current) fixes the symptoms I reported. My sk0 interface is now
running 12+ hours without debug.mpsafenet=0 in /boot/loader.conf without
problems.

From: Peter Edwards <peadar.edwards <at> gmail.com>
CC: FreeBSD current mailing list <current <at> freebsd.org>
CC: freebsd-amd64 <at> freebsd.org
Subject: Re: if_sk patch to get more info from people with problems

[...]

--- /tmp/if_sk.c        Tue Nov  2 17:49:26 2004
+++ if_sk.c     Tue Nov  2 17:52:20 2004
 <at>  <at>  -1115,12 +1115,14  <at>  <at> 
        if ((i < 0) || (i >= SK_JSLOTS))
                panic("sk_jfree: asked to free buffer that we don't manage!");

+       SK_LOCK(sc_if->sk_softc);
        entry = SLIST_FIRST(&sc_if->sk_jinuse_listhead);
        if (entry == NULL)
                panic("sk_jfree: buffer not in use!");
        entry->slot = i;
        SLIST_REMOVE_HEAD(&sc_if->sk_jinuse_listhead, jpool_entries);
        SLIST_INSERT_HEAD(&sc_if->sk_jfree_listhead, entry, jpool_entries);
+       SK_UNLOCK(sc_if->sk_softc);

        return;
 }

(Continue reading)


Gmane