Date: Fri, 22 Jul 2005 01:20:46 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Andrey Chernov <ache@FreeBSD.ORG> Cc: marcolz@stack.nl, wpaul@windriver.com, current@FreeBSD.ORG, "M. Warner Losh" <imp@bsdimp.com> Subject: Re: rl(4) is not ready for mpsafenet net enough? (silent reboots) Message-ID: <20050722011804.O16902@fledge.watson.org> In-Reply-To: <20050721152946.GA11578@nagual.pp.ru> References: <20050721134816.GA8550@nagual.pp.ru> <20050721142445.GA77847@stack.nl> <20050721143443.GB10010@nagual.pp.ru> <20050721.091844.10574798.imp@bsdimp.com> <20050721152946.GA11578@nagual.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 21 Jul 2005, Andrey Chernov wrote: > On Thu, Jul 21, 2005 at 09:18:44AM -0600, M. Warner Losh wrote: >> *DRIVER* concept, not a hardware one in this context). The problem >> with REV C and earlier is that their performance sucks because the DMA >> engine used in the cards was LAME. Realtec fixed this in newer >> revisions of the chip, and the re driver is able to take advantage of >> that (as well as support the newer gige chips). > > The problem is that it is on-board embedded chip I try to use. Looks > like I need to buy some external card like "Intel PRO/100+ PCI" and turn > this one off... > > The question remains: why rl(4) driver pretend to be mpsafenet itself? > Other drivers with problems, like de(4), are GIANT-locked by default. Given that this is the first report of such a feature that I've seen, it's likely that it's marked as MPSAFE because it appeared to the author to be MPSAFE. You'll notice that if_de is marked as requiring Giant because it doesn't have any locking. Although actually, John Baldwin spent the last day or so fixing if_de, so presumably that will go into the tree shortly and that will cease to be the case. FYI, most locking bugs in network interfaces that I've seen don't result in a spontaneous reboot, and that's a somewhat worrying symptom. Is this something you can easily reproduce in a short period of time, or in particular, using a particular program or system call? Is there any chance your box has firewire and you can use a firewire debugger to inspect memory? Robert N M Watson
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050722011804.O16902>