Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 May 2013 15:08:37 -0400
From:      Ryan Stone <rysto32@gmail.com>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        FreeBSD Net <net@freebsd.org>
Subject:   Re: surprise surprise (VM related) [luigi@FreeBSD.org: svn commit: r250911 - head/sys/kern]
Message-ID:  <CAFMmRNxKKgFa-60djwH0g=62M_%2Bwx-BkP2_LKccmN%2B0_qkrjYw@mail.gmail.com>
In-Reply-To: <20130522164244.GB95808@onelab2.iet.unipi.it>
References:  <20130522164244.GB95808@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 22, 2013 at 12:42 PM, Luigi Rizzo <rizzo@iet.unipi.it> wrote:

> all that work on paravirtualization (as presented at bsdcan)
>
> http://info.iet.unipi.it/~luigi/netmap/talk-bsdcan-2013.html
>
> just to discover that simply enabling DEVICE_POLLING (10-years old
> technology) gives the same performance gains plus livelock-avoidance.
>
> And no, linux's NAPI is nowhere near us.
>
>         cheers
>         luigi
>

A couple of years ago I started working on upstreaming some DEVICE_POLLING
improvements from $WORK that incorporated feedback from polled interfaces
to drive rescheduling of a polling iteration (rather than waiting for the
next hardclock() to reschedule polling) but I never finished it.  It works
fine, but I didn't get a chance to test performance.  It's available here:

https://gitorious.org/~rysto/freebsd/rystos-freebsd-head/commit/e27db681b96cced7d3128ad3268f2cbf7474925a


In the same repository I also have a branch that extends DEVICE_POLLING to
work with multiple netisr threads.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNxKKgFa-60djwH0g=62M_%2Bwx-BkP2_LKccmN%2B0_qkrjYw>