Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Feb 2013 15:37:14 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        "Alexander V. Chernikov" <melifaro@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, net@freebsd.org
Subject:   Re: Make kernel aware of NIC queues
Message-ID:  <20130206143714.GA45782@onelab2.iet.unipi.it>
In-Reply-To: <5112666F.3050904@FreeBSD.org>
References:  <5112666F.3050904@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

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


help

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