From: Alexander Duyck <[email protected]>
Date: Wed, 06 May 2015 21:11:34 -0700

> This patch series addresses several things.
> 
> First I found an issue in the performance of the pfmemalloc check from
> build_skb.  To work around it I have provided a cached copy of pfmemalloc
> to be used in __netdev_alloc_skb and __napi_alloc_skb.
> 
> Second I moved the page fragment allocation logic into the mm tree and
> added functionality for freeing page fragments.  I had to fix igb before I
> could do this as it was using a reference to NETDEV_FRAG_PAGE_MAX_SIZE
> incorrectly.
> 
> Finally I went through and replaced all of the duplicate code that was
> calling put_page and replaced it with calls to skb_free_frag.
> 
> With these changes in place a simple receive and drop test increased from a
> packet rate of 8.9Mpps to 9.8Mpps.  The gains breakdown as follows:
> 
> 8.9Mpps       Before                  9.8Mpps After
> ------------------------      ------------------------
> 7.8%  put_compound_page       9.1%    __free_page_frag
> 3.9%  skb_free_head
> 1.1%  put_page
> 
> 4.9%  build_skb               3.8%    __napi_alloc_skb
> 2.5%  __alloc_rx_skb
> 1.9%  __napi_alloc_skb

I like this series, but again I need to see feedback from some
mm folks before I can consider applying it.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to