Date: Sat, 1 Apr 2000 10:11:59 +0930 From: Greg Lehey <grog@lemis.com> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: Soren Schmidt <sos@freebsd.dk>, vallo@matti.ee, freebsd-current@FreeBSD.ORG Subject: Re: Deadlock with vinum raid5 Message-ID: <20000401101159.E51727@freebie.lemis.com> In-Reply-To: <200004010037.QAA35356@apollo.backplane.com> References: <20000331212544.A59295@myhakas.matti.ee> <200003311932.VAA70873@freebsd.dk> <20000401091140.A51727@freebie.lemis.com> <200004010037.QAA35356@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, 31 March 2000 at 16:37:44 -0800, Matthew Dillon wrote: > >> I'm not sure that this is the same problem. Please supply the >> information I ask for in http://www.lemis.com/vinum/how-to-debug.html. >> >> The problem that Søren and I are looking at is usually a panic. We >> don't really know where it's happening, but we're each sure it's not >> in *our* code :-) From a Vinum standpoint, it happens between the time >> that Vinum sends a request to the driver and when the I/O completes, >> so it's difficult to blame Vinum. On the other hand, we've seen it >> with SCSI as well, so it's difficult to blame the driver. I'm half >> guessing that it's something else altogether which is spamming freed >> data. Vinum mallocs the buffer headers rather than using geteblk(), >> which could explain why it happens only with Vinum. > > The business about vinum malloc()ing the buffer header has > always bothered me, maybe we should introduce an 'allocpbuf' > call (and 'freepbuf') to complement the getpbuf()/relpbuf() > routines we already have to take this out of the hands of the > device driver. Seems good to me. I thought of a few alternatives as well. But if this is a problem with some other process nuking data which has since been freed, this will just drive the problem into hiding. The most obvious alternative would be for Vinum to use geteblk() after all and use b_caller1 to point to the rest of the information; but it would still need to be malloced. Greg -- Finger grog@lemis.com for PGP public key See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000401101159.E51727>