[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080928204616.GA19070@xi.wantstofly.org>
Date: Sun, 28 Sep 2008 22:46:16 +0200
From: Lennert Buytenhek <buytenh@...tstofly.org>
To: netdev@...r.kernel.org
Cc: Ram.Natarajan@...lex.Com, Eric Dumazet <dada1@...mosbay.com>,
Ashish Karkare <akarkare@...vell.com>,
Nicolas Pitre <nico@....org>
Subject: [PATCHv2 0/2] skb recycling
This implements skb recycling, which is basically just reusing skbuffs
that have finished transmitting as receive buffers, avoiding skbuff
freeing/reallocation overhead. This is done by having the networking
provide skb_recycle_check(), which drivers can then use in their tx
ring cleanup (example implementation for mv643xx_eth included).
This is v2, incorporating feedback from Eric Dumazet to limit the size
of the recycle list to the size of the receive ring, and to manage the
recycle list in LIFO rather than FIFO mode for an extra bit of speedup.
Packet-per-second routing rates on mv643xx_eth without recycling, with
the IP stack cut out of the loop:
- 322165 322165 336022 343407 332447
Packet-per-second routing rates on mv643xx_eth with recycling (i.e.
with these two patches), with the IP stack cut out of the loop:
- 428082 422297 428082 428082 422297
So a ~30% speedup on synthetic benchmark. On a 'real' benchmark (i.e.
routing using the IP stack without hacks in the driver), the speedup
is on the order of 20% (~230 -> ~270 kpps).
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists