[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0904222156300.21763@ask.diku.dk>
Date: Wed, 22 Apr 2009 22:44:41 +0200 (CEST)
From: Jesper Dangaard Brouer <hawk@...u.dk>
To: David Miller <davem@...emloft.net>
Cc: therbert@...gle.com, shemminger@...tta.com,
Eric Dumazet <dada1@...mosbay.com>, andi@...stfloor.org,
netdev <netdev@...r.kernel.org>,
Robert Olsson <Robert.Olsson@...a.slu.se>,
Jens Laas <jens.laas@....UU.SE>, hawk@...x.dk,
jens.axboe@...cle.com
Subject: Re: [PATCH] Software receive packet steering
On Wed, 22 Apr 2009, David Miller wrote:
> One thought I keep coming back to is the hack the block layer
> is using right now. It remembers which CPU a block I/O request
> comes in on, and it makes sure the completion runs on that
> cpu too.
This is also very important for routing performance.
Experiences from practical 10GbE routing tests (done by Roberts team and
my self), reveals that we can only achieve (close to) 10Gbit/s routing
performance when carefully making sure that the rx-queue and tx-queue runs
on the same CPU. (Not doing so really kills performance).
Currently I'm using some patches by Jens Låås, that allows userspace to
setup the rx-queue to tx-queues mapping, plus manual smp_affinity tuning.
The problem with this approach is that it requires way too much manual
tuning from userspace to achieve good performance.
I would like to see an approach with less manual tuning, as we basically
"just" need to make sure that TX completion is done on the same CPU as RX.
I would like to see some effort in this area and is willing to partisipate
actively.
Cheers,
Jesper Brouer
--
-------------------------------------------------------------------
MSc. Master of Computer Science
Dept. of Computer Science, University of Copenhagen
Author of http://www.adsl-optimizer.dk
-------------------------------------------------------------------
Powered by blists - more mailing lists