Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Nov 2012 17:57:48 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Joe Holden <lists@rewt.org.uk>
Cc:        Davide Italiano <davide@freebsd.org>, Ryan Stone <rysto32@gmail.com>, FreeBSD Current <current@freebsd.org>
Subject:   Re: Dynamic Ticks/HZ
Message-ID:  <20121105165748.GA13098@onelab2.iet.unipi.it>
In-Reply-To: <5097E880.8010001@rewt.org.uk>
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> <5097E880.8010001@rewt.org.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 05, 2012 at 04:25:36PM +0000, Joe Holden wrote:
> 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?

at 1Gbit/s you probably don't need multiqueue (I am actually surpised
you can only do 650kpps, but perhaps because you are using ipfw and
not just doing plain forwarding ?)

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

It depends on what you need to do. If you have a v4/v6 router you
won't see any advantage (at the moment; there is some work in the
pipeline but probably it won't be available before spring).

If you just need to implement a firewall to protect the internal
network then it is another story and you can use the ipfw on netmap
that I posted in august.

cheers
luigi



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