From owner-freebsd-net@FreeBSD.ORG Tue Dec 12 23:09:55 2006 Return-Path: X-Original-To: net@freebsd.org Delivered-To: freebsd-net@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 40C5916A522; Tue, 12 Dec 2006 23:09:55 +0000 (UTC) (envelope-from oleg@lath.rinet.ru) Received: from lath.rinet.ru (lath.rinet.ru [195.54.192.90]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7857E4518E; Tue, 12 Dec 2006 22:42:58 +0000 (GMT) (envelope-from oleg@lath.rinet.ru) Received: from lath.rinet.ru (localhost [127.0.0.1]) by lath.rinet.ru (8.13.8/8.13.8) with ESMTP id kBCMhpEK095105 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 13 Dec 2006 01:43:51 +0300 (MSK) (envelope-from oleg@lath.rinet.ru) Received: (from oleg@localhost) by lath.rinet.ru (8.13.8/8.13.8/Submit) id kBCMhpoW095104; Wed, 13 Dec 2006 01:43:51 +0300 (MSK) (envelope-from oleg) Date: Wed, 13 Dec 2006 01:43:51 +0300 From: Oleg Bulyzhin To: Gleb Smirnoff Message-ID: <20061212224351.GE91560@lath.rinet.ru> References: <20061206085401.GH32700@cell.sick.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061206085401.GH32700@cell.sick.ru> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: MQ , net@freebsd.org Subject: Re: [antinvidia@gmail.com: some questions about bge(4)] 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: Tue, 12 Dec 2006 23:09:55 -0000 On Wed, Dec 06, 2006 at 11:54:01AM +0300, Gleb Smirnoff wrote: > Forwarding to net@ list and to Oleg, who has made polling > support for bge(4). > > ----- Forwarded message from MQ ----- > > From: MQ > To: glebius@freebsd.org, davidch@broadcom.com > Subject: some questions about bge(4) > Date: Sat, 2 Dec 2006 09:32:27 +0000 > Delivered-To: glebius@freebsd.org > DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; > s=beta; d=gmail.com; > h=received:message-id:date:from:to:subject:mime-version:content-type; > b=ZL3ZZ1zR0mt4LaUN2Rr+jXTPSzQgJYRwLiwKnv95r2UCEids5Wl7oA2BNgicJ2QRG8OalJ7DqY7lM1HBgv0OVTlXOhGQ9aFmKQAuTNi6ueZA817XUacXyViEepnj0oNyYgAnkbaaBO1+nl2Fpb3IxV+MIe575WRlqbglF8kdOek= > > Hi David and Gleb, > I'm using several chips whose driver is bge(4). And now I have some > questions about the driver, would you please an answer for me? > My confusion is related with some codes in /sys/dev/mii/brgphy.c. The > bge(4) uses the callout to drive the watchdog. And the brgphy_service() is > called once per second. It calls brgphy_mii_phy_auto() every 5 seconds to > autonegotiate the media. Normally, it costs about 0.5ms in the first > function brgphy_service(), and about 5ms when autonegotiation is proceeded. brgphy_mii_phy_auto() is called only if there is no link. > I haven't done streestest on it, consequently I don't know if this delay > will cause packets to be dropped. But I've enabled device polling with the > bge(4) on FreeBSD 6.1-RELEASE. If HZ is set to a high value(e.g. 4000), this > delay will cause the kern.polling.lost_polls to increase by one or two every > second. And for about five seconds, the lost poll will increase by at least > 16 regularly. So I think this behavior has some impact on the systems that > enables device polling. Could we get something to make the bge(4) a bit more > friendly to the device polling? I don't know if autonegotiation is really > needed to be called so frequently when we are connected to a good network > environment. Can I modify the interval between two autonegotiations to have > less lost_polls? However, I have no idea about the long time spent in the > brgphy_service(), please take a look at the problem when you have enough > time. If you have lost poll it does not guarantee packet loss. Packets can be retrieved by next poll or even by idle_poll thread. bge_tick() is doing couple of pci register reads (it's polling phy status and updates some statistic counters), this why it takes some time. Anyway, you are right about too short autonegotiation timer, i'll fix it soon. > > Regards > MQ > > ----- End forwarded message ----- > > -- > Totus tuus, Glebius. > GLEBIUS-RIPN GLEB-RIPE -- Oleg. ================================================================ === Oleg Bulyzhin -- OBUL-RIPN -- OBUL-RIPE -- oleg@rinet.ru === ================================================================