From owner-freebsd-net@FreeBSD.ORG Tue Apr 28 09:27:07 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 C4C2910656FD for ; Tue, 28 Apr 2009 09:27:07 +0000 (UTC) (envelope-from p.pisati@oltrelinux.com) Received: from contactlab34-bk-3.contactlab.it (contactlab34-bk-3.contactlab.it [93.94.34.3]) by mx1.freebsd.org (Postfix) with ESMTP id 531318FC0A for ; Tue, 28 Apr 2009 09:27:07 +0000 (UTC) (envelope-from p.pisati@oltrelinux.com) DKIM-Signature: v=1; a=rsa-sha1; d=contactlab.it; s=s768; c=simple/simple; q=dns/txt; i=@contactlab.it; t=1240909531; h=From:Subject:Date:To:MIME-Version:Content-Type; bh=xVEzPb+kpUNrN2JRWbK9JOJ7Ydg=; b=CFE1cObEcx/w0W7Snr8L6UeMNO1yt6/VX7NrOw3r37ezB7/u0VypD9Wt0Xb4AcLv mELUDpsb5eNXc34jDLZOX5Iz/48syeAGAU6RPrATt4cOiGJfC70HlGIWIvoS2yEr; Received: from [213.92.0.53] ([213.92.0.53:62358] helo=mail0.tomato.it) by vmta3.contactlab.it (envelope-from ) (ecelerity 2.2.2.37 r(28822M)) with ESMTP id FB/4D-20286-BD6C6F94; Tue, 28 Apr 2009 11:05:31 +0200 Received: from ferret.tomato.lan (fast.tomato.it [62.101.64.91]) by mail0.tomato.it (Postfix) with ESMTP id AE2E72840C; Tue, 28 Apr 2009 11:06:41 +0200 (CEST) Message-ID: <49F6C6B4.4080108@oltrelinux.com> Date: Tue, 28 Apr 2009 11:04:52 +0200 From: Paolo Pisati User-Agent: Thunderbird 2.0.0.19 (X11/20090226) 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 09:27:08 -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. out of curiosity: did you try polling on 4.x? i know it doesn't "support" SMP over there, but last time i tried polling on 7.x (or was it 6.x? i don't remember...) i found it didn't gave any benefit, while switching the system to 4.x showed a huge improvement. -- bye, P.