Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Feb 2009 20:27:18 +0100
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        Jeff Roberson <jroberson@jroberson.net>
Cc:        freebsd-net@freebsd.org
Subject:   Re: mbuf revision, testers/comments wanted.
Message-ID:  <20090208202718.256db562@fabiankeil.de>
In-Reply-To: <20090208083321.M983@desktop>
References:  <20090131125100.N983@desktop> <20090201160544.4f1961b4@fabiankeil.de> <20090201170550.482bf325@fabiankeil.de> <20090202094226.E983@desktop> <20090208152647.3e4316d1@fabiankeil.de> <20090208083321.M983@desktop>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Jeff Roberson <jroberson@jroberson.net> wrote:

> On Sun, 8 Feb 2009, Fabian Keil wrote:
> 
> > Jeff Roberson <jroberson@jroberson.net> wrote:

> >> I have updated the patch here:
> >>
> >> http://people.freebsd.org/~jeff/mbuf_ref2.diff
> >>
> >> This resolves the !INVARIANTS bug and improves the style as you suggested.
> >
> > I run into several system hangs (or maybe panics) yesterday,
> > mostly with Xorg running so I didn't get any details.
> >
> > I got one on the console though. After running a regression
> > test that opens multiple HTTP connections to the loop back
> > device, I used rsync to restore some files that were damaged by
> > an earlier hang. That lead to a page fault in em_start_locked().
> >
> > While I dumped core from the debugger,
> > savecore didn't find the dump afterwards.
> >
> > Anyway, there's a screen shot available at:
> > http://www.fabiankeil.de/bilder/freebsd/mbuf-patch-page-fault-em_start_locked.jpg
> 
> Can you open gdb on kernel.debug and tell me what:
> 
> list *(em_start_locked+0x1e5)
> 
> outputs?

Unfortunately I didn't keep the kernel.debug for the
patched kernel around. For my current kernel I get:

fk@TP51 ~ $gdb /usr/obj/usr/src/sys/THINKPAD/kernel.debug 
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
(gdb) list *(em_start_locked+0x1e5)
0xc0529eb5 is in em_start_locked (/usr/src/sys/dev/e1000/if_em.c:1003).
998             if (!adapter->link_active)
999                     return;
1000    
1001            while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) {
1002    
1003                    IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head);
1004                    if (m_head == NULL)
1005                            break;
1006                    /*
1007                     *  Encapsulation can modify our pointer, and or make it

Not sure if it's any good ...

Fabian

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkmPMhYACgkQBYqIVf93VJ17AgCfRYoZA/yXanDkVOhY1ZxdZ9YH
vHIAn0V/VbOyrX5sJnii4OC4PvwQYsbA
=f+am
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090208202718.256db562>