Date: Fri, 24 May 2002 11:07:19 -0700 (PDT) From: Archie Cobbs <archie@dellroad.org> To: freebsd-net@freebsd.org Cc: freebsd-hackers@freebsd.org Subject: splimp() during panic? Message-ID: <200205241807.g4OI7Ja70244@arch20m.dellroad.org>
next in thread | raw e-mail | index | archive | help
Hi, I'm trying to debug a mbuf corruption bug in the kernel. I've added an mbuf sanity check routine which calls panic() if anything is amiss with the mbuf free list, etc. This function runs at splimp() and if/when it calls panic() the cpl is still at splimp(). My question is: does this guarantee that the mbuf free lists, etc. will not be modified between the time panic() is called and the time a core file is generated? For example, if an incoming packet causes a networking interrupt after panic() has been called but before the core file is written, will that interrupt be blocked when it calls splimp()? I've been working under this assumption but it seems to not be valid, because I seem to be seeing panics for situations that are not true in the core file. If this is not a valid assumption, is there an easy way to 'freeze' the mbuf free lists long enough to generate the core file when an inconsistency is found (other than adding the obvious hack)? Thanks, -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205241807.g4OI7Ja70244>