From owner-freebsd-net@FreeBSD.ORG Sat Nov 4 04:51:43 2006 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 3AE3D16A412 for ; Sat, 4 Nov 2006 04:51:43 +0000 (UTC) (envelope-from antinvidia@gmail.com) Received: from qb-out-0506.google.com (qb-out-0506.google.com [72.14.204.238]) by mx1.FreeBSD.org (Postfix) with ESMTP id A670F43D49 for ; Sat, 4 Nov 2006 04:51:42 +0000 (GMT) (envelope-from antinvidia@gmail.com) Received: by qb-out-0506.google.com with SMTP id q17so195015qba for ; Fri, 03 Nov 2006 20:51:09 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:mime-version:content-type; b=uvAFFm3DMnolBqtEXRz4HIBoQqkLKUEimufGHGXycy448Jv2Vr0r/sILQK6tHakjssxgCsPnKwe9UqFpgXhr0lyxjdO1Yv2L/rxCquPovJHDHbXa1yzGzruuW1Ne2+3II6uty6UIB3yzeYGUbB29ZOH5aiMygkTkpJ+U93gcOuo= Received: by 10.49.1.12 with SMTP id d12mr516766nfi.1162612344162; Fri, 03 Nov 2006 19:52:24 -0800 (PST) Received: by 10.49.37.15 with HTTP; Fri, 3 Nov 2006 19:52:24 -0800 (PST) Message-ID: Date: Sat, 4 Nov 2006 03:52:24 +0000 From: MQ To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: davidch@freebsd.org Subject: device polling problem with the 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: Sat, 04 Nov 2006 04:51:43 -0000 Hi, I have two boxes running bge(4). One is ARIMA SW330 with two 5780 on board, another is HP NC6000 notebook with 5701. After I enabled device polling, I found the lost_polls is always increasing. I looked through the codes in /sys/dev/bge/if_bge.c, and finally found that the problem lies in the function bge_tick. More exactly, the problem is caused by mii_tick. It is called frequently, and normally returns in 0.5ms. But it always get one chance to cost 4~5ms in every 4s. This behavior causes the BGE_LOCK statement in bge_poll() to delay 4~5ms, and finally makes the lost_polls increasing. Additionally, the HZ for bge(4), at least for my bge(4) cards, is limited to at most 2000, or there will be lost_polls every second. I hope this is a fixable problem, and fixed soon. Thanks.