i40e/i40evf: bundle more descriptors when allocating buffers
authorJacob Keller <jacob.e.keller@intel.com>
Thu, 7 Sep 2017 12:05:52 +0000 (08:05 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 9 Oct 2017 21:27:42 +0000 (14:27 -0700)
commit95bc2fb4c6c7d23db6dc54a3d49bdbadb13c392b
tree8bbf967226baac7a9714f0942ea158f2b2e60074
parent11f29003d6376fb123b7c3779dba49bb56fb0815
i40e/i40evf: bundle more descriptors when allocating buffers

Double the number of descriptors we'll bundle into one tail bump when
receiving. Empirical testing has shown that we reduce CPU utilization
and don't appear to reduce throughput or packet rate. 32 seems to be the
sweet spot, as it's half the default polling budget, so we'd essentially
reduce from 4 tail writes when polling down to 2. Increasing this up to
64 appears to have negative impacts as it may become possible that we
don't bump the tail each time we get polled, which could cause a long
delay between returning descriptors to the hardware.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_txrx.h
drivers/net/ethernet/intel/i40evf/i40e_txrx.h