From owner-freebsd-stable@FreeBSD.ORG Thu Jul 20 02:38:58 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D9C5516A4DE for ; Thu, 20 Jul 2006 02:38:58 +0000 (UTC) (envelope-from emaste@phaedrus.sandvine.ca) Received: from gw.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6001B43D46 for ; Thu, 20 Jul 2006 02:38:58 +0000 (GMT) (envelope-from emaste@phaedrus.sandvine.ca) Received: from mailserver.sandvine.com ([192.168.1.10]) by gw.sandvine.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 19 Jul 2006 22:38:56 -0400 Received: from labgw2.phaedrus.sandvine.com ([192.168.3.11]) by mailserver.sandvine.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 19 Jul 2006 22:38:56 -0400 Received: by labgw2.phaedrus.sandvine.com (Postfix, from userid 12627) id 53825115E8; Wed, 19 Jul 2006 22:38:56 -0400 (EDT) Date: Wed, 19 Jul 2006 22:38:56 -0400 From: Ed Maste To: Marcelo Gardini do Amaral Message-ID: <20060720023856.GA65960@sandvine.com> References: <20060711190908.GC69272@registro.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060711190908.GC69272@registro.br> User-Agent: Mutt/1.4.2.1i X-OriginalArrivalTime: 20 Jul 2006 02:38:56.0518 (UTC) FILETIME=[A5BC6A60:01C6ABA5] Cc: freebsd-stable@freebsd.org Subject: Re: How to setup polling on 'bge' interface X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 02:38:58 -0000 On Tue, Jul 11, 2006 at 04:09:08PM -0300, Marcelo Gardini do Amaral wrote: > Hi, > > I'm trying to setup polling in my box. [...] > But I always get some packet loss. A few points: - Polling and SMP are compatible in 6.1. In fact, they were compatible in earlier versions too; basically it's just the compile-time check that had to be "fixed." - You may have to adjust some parameters in the kern.polling sysctl tree - specifically, kern.polling.burst_max, kern.polling.each_burst and kern.polling.user_frac might need tweaking. - The polling feedback algorithm does not work very well if your workload is focused largely on per-packet tasks (such as routing or bridging). You'll find that there is still idle CPU time at the point you start dropping packets. I have some work in progress to address this, but it's not yet committed. - Polling's major advantage is the avoidance of livelock on UP systems, and not improved performance. What level of traffic are you putting through this box? Is it routing/ bridging, or an endpoint like a web server? Ed Maste