linux/drivers/net/ethernet/cavium
Sunil Goutham 773225388d net: thunderx: Optimize page recycling for XDP
Driver follows a method of taking one extra reference on the
page for recycling which is fine in usual packet path where
each 64KB page is segmented into multiple receive buffers.

But in XDP mode since there is just one receive buffer per
page taking extra page reference itself becomes big bottleneck
consuming ~50% of CPU cycles due to atomic operations.

This patch adds a internal ref count in pgcache for each
page and additional page references are taken in a batch
instead of just one at a time. Internal i.e 'pgcache->ref_count'
and page's i.e 'page->_refcount' counters are compared to check
page's recyclability.

Signed-off-by: Sunil Goutham <sgoutham@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-02 15:41:22 -04:00
..
liquidio liquidio: silence a locking static checker warning 2017-04-30 22:41:07 -04:00
octeon drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
thunder net: thunderx: Optimize page recycling for XDP 2017-05-02 15:41:22 -04:00
Kconfig LiquidIO VF: s/select/imply/ for PTP_1588_CLOCK 2017-01-04 13:27:16 -05:00
Makefile netdev: Move octeon/octeon_mgmt driver to cavium directory. 2016-03-18 18:25:30 -04:00