Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Sep 2009 20:02:53 +0500
From:      rihad <rihad@mail.ru>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        freebsd-net@freebsd.org
Subject:   Re: [POLLING] strange interrupt/system load
Message-ID:  <4AABB81D.9070907@mail.ru>
In-Reply-To: <20090912202529.X1569@besplex.bde.org>
References:  <4AAB4D56.30207@mail.ru> <20090912202529.X1569@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AABB81D.9070907>