[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160208121328.8860.67014.stgit@localhost>
Date: Mon, 08 Feb 2016 13:14:54 +0100
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: netdev@...r.kernel.org, Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, tom@...bertland.com,
Alexander Duyck <alexander.duyck@...il.com>,
alexei.starovoitov@...il.com, linux-mm@...ck.org,
Jesper Dangaard Brouer <brouer@...hat.com>,
Christoph Lameter <cl@...ux.com>,
"David S. Miller" <davem@...emloft.net>
Subject: [net-next PATCH V2 0/3] net: mitigating kmem_cache free slowpath
This patchset is the first real use-case for kmem_cache bulk _free_.
The use of bulk _alloc_ is NOT included in this patchset. The full use
have previously been posted here [1].
The bulk free side have the largest benefit for the network stack
use-case, because network stack is hitting the kmem_cache/SLUB
slowpath when freeing SKBs, due to the amount of outstanding SKBs.
This is solved by using the new API kmem_cache_free_bulk().
Introduce new API napi_consume_skb(), that hides/handles bulk freeing
for the caller. The drivers simply need to use this call when freeing
SKBs in NAPI context, e.g. replacing their calles to dev_kfree_skb() /
dev_consume_skb_any().
Driver ixgbe is the first user of this new API.
[1] http://thread.gmane.org/gmane.linux.network/384302/focus=397373
---
Jesper Dangaard Brouer (3):
net: bulk free infrastructure for NAPI context, use napi_consume_skb
net: bulk free SKBs that were delay free'ed due to IRQ context
ixgbe: bulk free SKBs during TX completion cleanup cycle
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 6 +-
include/linux/skbuff.h | 4 +
net/core/dev.c | 9 ++-
net/core/skbuff.c | 87 +++++++++++++++++++++++--
4 files changed, 96 insertions(+), 10 deletions(-)
--
Powered by blists - more mailing lists