From owner-freebsd-net@FreeBSD.ORG Thu Oct 13 17:45:03 2005 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6687416A424 for ; Thu, 13 Oct 2005 17:45:03 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id F3C1E43D45 for ; Thu, 13 Oct 2005 17:45:02 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from [10.50.41.234] (Not Verified[10.50.41.234]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Thu, 13 Oct 2005 14:01:22 -0400 From: John Baldwin To: "Yuriy N. Shkandybin" Date: Thu, 13 Oct 2005 13:20:51 -0400 User-Agent: KMail/1.8.2 References: <092e01c5cb15$f7fe5840$6504010a@Jura> <200510121610.47507.jhb@freebsd.org> <002c01c5cf72$54901fc0$0701010a@notebook> In-Reply-To: <002c01c5cf72$54901fc0$0701010a@notebook> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510131320.52797.jhb@freebsd.org> Cc: freebsd-net@freebsd.org Subject: Re: if_nge & if_lge drivers X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Oct 2005 17:45:03 -0000 On Wednesday 12 October 2005 05:13 pm, Yuriy N. Shkandybin wrote: > > Note that lge() has a bzero() call after the contigmalloc(), but M_ZERO > > is probably better to use: > > > > sc->lge_ldata = contigmalloc(sizeof(struct lge_list_data), M_DEVBUF, > > M_NOWAIT, 0, 0xffffffff, PAGE_SIZE, 0); > > > > ... > > bzero(sc->lge_ldata, sizeof(struct lge_list_data)); > > Yes, i;ve missed that. > But there is no such bzero in nge. Right. > > I'll put that in my lge(4) patches and incorporate your nge(4) patches. > > One > > issue with your nge(4) patch is that you moved the bus_setup_intr() up > > when > > it really should happen after ether_ifattach(). > > Probably. > I've looked into if_lge.c for that as example. > There goes bus_setup_intr() first and later ether_ifattach(). My locking patches for lge(4) move it. :) Once a driver is properly locked it should call ether_ifattach() first, and nge is mostly properly locked. > > Also, is there a reason you added a call to nge_reset() after nge_stop() > > in > > nge_init()? > > Only reason - same done in if_lge.c Ah, hmm. Do you have nge(4) hardware such that you can test my slightly larger nge patch? -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org