diff options
author | Eric Dumazet <edumazet@google.com> | 2012-09-26 06:46:57 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-09-27 19:29:35 -0400 |
commit | 69b08f62e17439ee3d436faf0b9a7ca6fffb78db (patch) | |
tree | a59ad1118535432b42821b65efe96ac27450c26a /include/net | |
parent | 5dff747b7038d10f9c174a1245263fd1c36a644d (diff) |
net: use bigger pages in __netdev_alloc_frag
We currently use percpu order-0 pages in __netdev_alloc_frag
to deliver fragments used by __netdev_alloc_skb()
Depending on NIC driver and arch being 32 or 64 bit, it allows a page to
be split in several fragments (between 1 and 8), assuming PAGE_SIZE=4096
Switching to bigger pages (32768 bytes for PAGE_SIZE=4096 case) allows :
- Better filling of space (the ending hole overhead is less an issue)
- Less calls to page allocator or accesses to page->_count
- Could allow struct skb_shared_info futures changes without major
performance impact.
This patch implements a transparent fallback to smaller
pages in case of memory pressure.
It also uses a standard "struct page_frag" instead of a custom one.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Alexander Duyck <alexander.h.duyck@intel.com>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
0 files changed, 0 insertions, 0 deletions