Merge branch 'net-mitigate-kmem_free-slowpath'
authorDavid S. Miller <davem@davemloft.net>
Thu, 11 Feb 2016 16:59:17 +0000 (11:59 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Feb 2016 16:59:17 +0000 (11:59 -0500)
commit3134b9f019f2604f05fd65a2c2d4e57193f7ddfb
tree7fdc4e1261b759cb4ba9ab362ae41d8639d9c55f
parent18ac5590e9e37a423c4d26a83b657fcf2b832d5a
parenta3a8749d34d8a5ac071c7ead792bd21ffe328aa0
Merge branch 'net-mitigate-kmem_free-slowpath'

Jesper Dangaard Brouer says:

====================
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
====================

Signed-off-by: David S. Miller <davem@davemloft.net>