Make kernel aware of NIC queues
Luigi Rizzo
rizzo at iet.unipi.it
Wed Feb 6 14:37:17 UTC 2013
On Wed, Feb 06, 2013 at 06:19:27PM +0400, Alexander V. Chernikov wrote:
> Hello list!
>
> Today more and more NICs are capable of splitting traffic to different
> Rx/TX rings permitting OS to dispatch this traffic on different CPU
> cores. However, there are some problems that arises from using multi-nic
> (or even singe multi-port NIC) configurations:
...
> I propose implementing common API to permit drivers:
> * read user-supplied number of queues/other queue options (e.g:
> * notify kernel of each RX/TX queue being created/destroyed
> * make binding queues to cores via given API
> * Export data to userland (for example, via sysctl) to permit users:
> a) quickly see current configuration
> b) change CPU binding on-fly
> c) change flowid numbers on-fly (with the possibility to set 1)
> NIC-supplied hash 2) manually supplied value 3) disable setting M_FLOWID)
>
> Having common interface will help users to make network stack tuning
> easier and puts us one step further to make (probably userland) AI which
> can auto-tune system according to template ("router", "webserver") and
> rc.conf configuration (lagg presense, etc..)
>
>
> What do you guys think?
this is certainly a good idea and a welcome one.
Linux has tried to come up with a common framework to implement
this kind of controls using "ethtool", and we should probably
have a look at their approach and reuse it (or at least the good ideas)
to avoid reinventing the same thing.
cheers
luigi
More information about the freebsd-hackers
mailing list