Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Nov 2012 16:25:36 +0000
From:      Joe Holden <lists@rewt.org.uk>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        Davide Italiano <davide@freebsd.org>, Ryan Stone <rysto32@gmail.com>, FreeBSD Current <current@freebsd.org>
Subject:   Re: Dynamic Ticks/HZ
Message-ID:  <5097E880.8010001@rewt.org.uk>
In-Reply-To: <20121105163654.GA12870@onelab2.iet.unipi.it>
References:  <509758B8.1000409@rewt.org.uk> <CACYV=-HwJ1j2-zDtCtuGNKzdFRJhPsZm6vtFXAVyPSabCXvFEQ@mail.gmail.com> <50975F6F.6010907@rewt.org.uk> <CACYV=-Ef5ij7%2BgqDV9oS3xRyD6Yy2mqDyKqqUZZQ-KsWb_3C3A@mail.gmail.com> <5097898C.9080109@rewt.org.uk> <CAFMmRNwR_XxjnRZvxqew77qNnOTGWrRQnhJkg4u2berL8VCVtw@mail.gmail.com> <20121105163654.GA12870@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo wrote:
> On Mon, Nov 05, 2012 at 08:11:41AM -0500, Ryan Stone wrote:
>> On Mon, Nov 5, 2012 at 4:40 AM, Joe Holden <lists@rewt.org.uk> wrote:
>>
>>> doh, running kernel wasn't as GENERIC as I thought it was, looks like
>>> device polling not only breaks dynamic ticks but also reduces rx ability
>>> significantly, exactly 150,000 pps per 1000hz on igb versus 650,000 without
>>>
>>> Is this a known issue? (and if device polling isn't as useful as it once
>>> was, should it be removed?)
>>>
>> Device polling on modern multiqueue NICs isn't very useful because you're
>> limited to a single thread for handling packets.  I have a patch that fixes
>> this that I've let fall by the wayside.
> 
> the 150,000 is result of the combination of the default value of
> sysctl  kern.polling.burst_max and kern.polling.idle_poll=0
> (i think this is the default value for the latter).
> 
> The 150 was sized for the peak pps on a 100Mbit/s interface,
> back in 2001. You should at least be able to raise the number
> and see what kind of throughput you can achieve.
> 
> This said, modern nics also have interrupt moderation so you
> don't really need polling.
> 
> cheers
> luigi
Hi Luigi,

This makes sense, am I likely to achieve better throughput (in the 
forwarding path at this point) with netisr rather than polling, 
especially as mentioned above the igb does indeed have multiple queues 
for rx?

On another note, is netmap usable in the forwarding context at all as it 
is rather awesome

Thanks,
Joe



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5097E880.8010001>