From owner-freebsd-net@FreeBSD.ORG Tue Apr 28 16:52:33 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF58E106564A for ; Tue, 28 Apr 2009 16:52:33 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outS.internet-mail-service.net (outs.internet-mail-service.net [216.240.47.242]) by mx1.freebsd.org (Postfix) with ESMTP id B45A48FC15 for ; Tue, 28 Apr 2009 16:52:33 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 8B0FF14E1F2; Tue, 28 Apr 2009 09:53:08 -0700 (PDT) X-Client-Authorized: MaGic Cook1e X-Client-Authorized: MaGic Cook1e X-Client-Authorized: MaGic Cook1e X-Client-Authorized: MaGic Cook1e Received: from julian-mac.elischer.org (home.elischer.org [216.240.48.38]) by idiom.com (Postfix) with ESMTP id 3EEA12D6167; Tue, 28 Apr 2009 09:52:33 -0700 (PDT) Message-ID: <49F73459.9080803@elischer.org> Date: Tue, 28 Apr 2009 09:52:41 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: fabient@freebsd.org References: <160513.83122.qm@web63904.mail.re1.yahoo.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: barney_cordoba@yahoo.com, Ed Maste , freebsd-net@freebsd.org Subject: Re: Interrupts + Polling mode (similar to Linux's NAPI) 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, 28 Apr 2009 16:52:34 -0000 Fabien Thomas wrote: > > To share my results: > > I have done at work modification to the polling code to do SMP polling > (previously posted to this ml). > > SMP polling (dynamic group of interface binded to CPU) does not > significantly improve the throughput (lock contention seems to be the > cause here). > The main advantage of polling with modern interface is not the PPS > (which is nearly the same) but the global efficiency of the system when > using multiple interfaces (which is the case for Firewall). > The best configuration we have found with FreeBSD 6.3 is to do polling > on one CPU and keep the other CPU free for other processing. In this > configuration the whole system > is more efficient than with interrupt where all the CPU are busy > processing interrupt thread. > so it would (might) be worth while working out a framework by which this could be achieved. > Regards, > Fabien >