From owner-freebsd-net@FreeBSD.ORG Sat Sep 12 15:02:56 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 94FE9106566B for ; Sat, 12 Sep 2009 15:02:56 +0000 (UTC) (envelope-from rihad@mail.ru) Received: from mx75.mail.ru (mx75.mail.ru [94.100.176.90]) by mx1.freebsd.org (Postfix) with ESMTP id 52D1C8FC12 for ; Sat, 12 Sep 2009 15:02:56 +0000 (UTC) Received: from [217.25.27.27] (port=37246 helo=[217.25.27.27]) by mx75.mail.ru with asmtp id 1MmU7q-00092v-00; Sat, 12 Sep 2009 19:02:54 +0400 Message-ID: <4AABB81D.9070907@mail.ru> Date: Sat, 12 Sep 2009 20:02:53 +0500 From: rihad User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) MIME-Version: 1.0 To: Bruce Evans References: <4AAB4D56.30207@mail.ru> <20090912202529.X1569@besplex.bde.org> In-Reply-To: <20090912202529.X1569@besplex.bde.org> Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Spam: Not detected X-Mras: Ok Cc: freebsd-net@freebsd.org Subject: Re: [POLLING] strange interrupt/system load 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, 12 Sep 2009 15:02:56 -0000 Bruce Evans wrote: > How much better does it work without POLLING? I'm not sure. It just works, How to measure it? I haven't noticed it adding any unacceptable latency to users' experience, making TCP/IP work less than optimal (we're an ISP). Once thing I did notice with POLLING enabled was that kern.polling.lost_polls was growing at a rate of2-3 per second, but after I enabled idle_poll the rate decreased to 1 lost poll every 10-15 seconds (burst_max & each_burst have been doubled in both scenarios). > On Sat, 12 Sep 2009, rihad wrote: > > POLLING is especially useless for em since its hardware has better > interrupt moderation than most NICs. In non-old versions of FreeBSD > em should be configured so as to not use it, and then em will use > fast interrupts and threads, a method that has a chance of working > much better than both POLLING and normal interrupts (but I haven't > actually seen it working much better). However, em's configuration > of this is bad: you have to not configure POLLING, and this prevents > use of polling on NICs that might actually benefit from it. > I understand it's not enough to just strip off the -polling part from the rc.conf line, but I also absolutely must rebuild the kernel with DEVICE_POLLING removed to get "fast em interrupts" working? Why, in theory, would ifconfigging some other nic, say, bce0, with polling alongside em0 without, not let em0 work without POLLING and bce0 with it? Mind you, I'm not using the deprecated kern.polling.enable sysctl: kern.polling.enable: 0 kern.polling.handlers: 2 I might as well have configured one interface with polling and one without. Or not?