Date: Tue, 27 Feb 2007 13:08:17 -0500 From: John Baldwin <jhb@freebsd.org> To: Kostik Belousov <kostikbel@gmail.com> Cc: freebsd-current@freebsd.org Subject: Re: kgdb(1) ... is it broken ? Message-ID: <200702271308.18038.jhb@freebsd.org> In-Reply-To: <20070227104214.GH77131@deviant.kiev.zoral.com.ua> References: <20070223061822.GA1497@obelix.dsto.defence.gov.au> <200702261833.01791.jhb@freebsd.org> <20070227104214.GH77131@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 27 February 2007 05:42, Kostik Belousov wrote: > On Mon, Feb 26, 2007 at 06:33:01PM -0500, John Baldwin wrote: > > On Saturday 24 February 2007 05:23, Kostik Belousov wrote: > > > On Sat, Feb 24, 2007 at 03:26:28PM +0900, Wilkinson, Alex wrote: > > > > 0n Fri, Feb 23, 2007 at 01:34:39PM +0200, Kostik Belousov wrote: > > > > > > > > >BTW, you panic is caused by nvidia driver. I believe there is a patch > > by > > > > >nvidia that would eliminate the problem. > > > > > > > > Got a link to the patch ? > > > I do not use nvidia cards, and did not saved the link. Search in the > > > archive. > > > > Try this: > > > > Index: kern_conf.c > > =================================================================== > > RCS file: /usr/cvs/src/sys/kern/kern_conf.c,v > > retrieving revision 1.200 > > diff -u -r1.200 kern_conf.c > > --- kern_conf.c 20 Oct 2006 07:59:50 -0000 1.200 > > +++ kern_conf.c 4 Jan 2007 20:42:07 -0000 > > @@ -843,16 +843,20 @@ > > dev_unlock(); > > return (0); > > } > > - if (unit == -1 && u == low) { > > - low++; > > - de = dev; > > - continue; > > - } else if (u < (unit | extra)) { > > - de = dev; > > - continue; > > - } else if (u > (unit | extra)) { > > - dl = dev; > > - break; > > + if (unit == -1) { > > + if (u == low) { > > + low++; > > + de = dev; > > + continue; > > + } > > + } else { > > + if (u < (unit | extra)) { > > + de = dev; > > + continue; > > + } else if (u > (unit | extra)) { > > + dl = dev; > > + break; > > + } > > } > > } > > if (unit == -1) > > > > -- > > John Baldwin > This change has nothing to do with reported panic. Panic is caused by invalid > refcounting in nvidia driver for cdev. Nvidia is already aware of the problem, > and patch from them floated around. Hmm, that's odd as this is the patch nvidia sent me many months ago for the "dev is on clonelist" panic. I don't see how the driver could cause clone_create() to pick a device on the clone list since clone_create() holds the dev_lock() the whole time. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702271308.18038.jhb>