linux_dsm_epyc7002/drivers/net/ethernet/intel/i40e
Mitch Williams f16704e5e8 i40e/i40evf: use pages correctly in Rx
Refactor the packet split Rx code to properly use half-pages for
receives. The previous code was doing way more mapping and unmapping
than it needed to, and wasn't properly using half-pages.

Increment the page use count each time we give a half-page to an skb,
knowing that the stack will probably process and release the page before
we need it again. Only free and reallocate pages if the count shows that
both half-pages are in use. Add counters to track reallocations and page
reuse.

Change-ID: I534b299196036b64be82b4861a0a4036310a8f22
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-02-17 15:22:22 -08:00
..
i40e_adminq_cmd.h i40e: Bump AQ minor version to 1.5 for new FW features 2016-02-16 18:35:53 -08:00
i40e_adminq.c i40e/i40evf: avoid mutex re-init 2015-12-03 13:43:06 -08:00
i40e_adminq.h i40e/i40evf: fix a potential type compare issue 2015-10-07 13:38:11 -07:00
i40e_alloc.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_common.c i40e: add VEB stat control and remove L2 cloud filter 2016-02-17 14:07:54 -08:00
i40e_dcb_nl.c i40e: Change some messages from info to debug only 2015-10-15 01:58:41 -07:00
i40e_dcb.c i40e: refactor DCB function 2016-02-16 19:04:08 -08:00
i40e_dcb.h i40e: Add parsing for CEE DCBX TLVs 2015-10-08 15:11:38 -07:00
i40e_debugfs.c i40e/i40evf: use pages correctly in Rx 2016-02-17 15:22:22 -08:00
i40e_devids.h i40e: remove VF device IDs from PF 2016-02-16 19:24:26 -08:00
i40e_diag.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_diag.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_ethtool.c i40e: use new add_veb calling with VEB stats control 2016-02-17 14:18:53 -08:00
i40e_fcoe.c net: rework ndo tc op to consume additional qdisc handle parameter 2016-02-17 09:47:35 -05:00
i40e_fcoe.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_hmc.c i40e: clean up unneeded gotos 2015-07-23 05:15:26 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.c i40e: use explicit cast from u16 to u8 2015-12-12 21:08:26 -08:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_main.c i40e/i40evf: don't lose interrupts 2016-02-17 14:39:07 -08:00
i40e_nvm.c i40e: add a little more to an NVM update debug message 2016-02-16 19:08:17 -08:00
i40e_osdep.h move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
i40e_prototype.h i40e: add VEB stat control and remove L2 cloud filter 2016-02-17 14:07:54 -08:00
i40e_ptp.c i40e: generate fewer startup messages 2015-10-16 04:36:13 -07:00
i40e_register.h i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag 2015-08-26 15:09:54 -07:00
i40e_status.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_txrx.c i40e/i40evf: use pages correctly in Rx 2016-02-17 15:22:22 -08:00
i40e_txrx.h i40e/i40evf: use pages correctly in Rx 2016-02-17 15:22:22 -08:00
i40e_type.h i40e: add priv flag for automatic rule eviction 2016-02-17 09:13:27 -08:00
i40e_virtchnl_pf.c i40e/i40evf: don't lose interrupts 2016-02-17 14:39:07 -08:00
i40e_virtchnl_pf.h i40e: Store lan_vsi_idx and lan_vsi_id in the right size 2016-02-16 18:40:26 -08:00
i40e_virtchnl.h i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722 2015-12-12 21:08:42 -08:00
i40e.h i40e/i40evf: don't lose interrupts 2016-02-17 14:39:07 -08:00
Makefile i40e: Strip configfs code 2015-03-07 07:01:06 -08:00