Date: Tue, 20 Sep 2005 22:31:14 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, ru@FreeBSD.org, cvs-all@FreeBSD.org, "M. Warner Losh" <imp@bsdimp.com> Subject: Re: cvs commit: src/sys/dev/an if_an.c src/sys/dev/arl if_arl_isa.c src/sys/dev/awi if_awi_pccard.c src/sys/dev/cm if_cm_isa.c src/sys/dev/cnw if_cnw.c src/sys/dev/cp if_cp.c src/sys/dev/cs if_cs.c src/sys/dev/ed if_ed.c src/sys/dev/em if_em.c ... Message-ID: <20050920222930.N34322@fledge.watson.org> In-Reply-To: <200509201551.11396.jhb@FreeBSD.org> References: <200509190310.j8J3ALgt095979@repoman.freebsd.org> <20050919055028.GC65954@ip.net.ua> <20050919.083146.105425670.imp@bsdimp.com> <200509201551.11396.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 20 Sep 2005, John Baldwin wrote: > Regarding other comments I saw today on some e-mail or another, I do > think that to make the locking sane, we might should push the checks for > IFF_DRV_RUNNING down into the foo_start() routines rather than doing it > in the network layer where the driver lock isn't held. This was a change I was thinking of trying to get into 6.0 a few weeks ago, but was worried that wholesale frobbing of the network interface drivers would introduce too many bugs. Also, it will increase the cost of injecting packets into the send queue under load as you'll always have to acquire and drop the driver mutex to test the flag. I.e., it's not clear we're actually racing, but we might pay a hefty cost for fixing it. If you want to take a cut at it, I'm happy to help characterize the cost and decide if it's the right thing to do. It would be nice to get it into 6.0 if possible as it will become part of the device driver API if so. Robert N M Watson
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050920222930.N34322>