ixgbe: Place skb on first buffer_info structure to avoid using stack space
Instead of keeping a local copy of the skb on the stack for as long as long as we do it makes sense to instead just place it on the first tx_buffer structure so that we can save space on the stack and avoid unnecessary read/write operations copying the pointer out of the stack and onto the ring later. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
committed by
Jeff Kirsher
parent
7d7ce682f8
commit
fd0db0ed02
@@ -447,7 +447,7 @@ ddp_out:
|
||||
/**
|
||||
* ixgbe_fso - ixgbe FCoE Sequence Offload (FSO)
|
||||
* @tx_ring: tx desc ring
|
||||
* @skb: associated skb
|
||||
* @first: first tx_buffer structure containing skb, tx_flags, and protocol
|
||||
* @tx_flags: tx flags
|
||||
* @hdr_len: hdr_len to be returned
|
||||
*
|
||||
@@ -455,9 +455,11 @@ ddp_out:
|
||||
*
|
||||
* Returns : 0 indicates no FSO, > 0 for FSO, < 0 for error
|
||||
*/
|
||||
int ixgbe_fso(struct ixgbe_ring *tx_ring, struct sk_buff *skb,
|
||||
int ixgbe_fso(struct ixgbe_ring *tx_ring,
|
||||
struct ixgbe_tx_buffer *first,
|
||||
u32 tx_flags, u8 *hdr_len)
|
||||
{
|
||||
struct sk_buff *skb = first->skb;
|
||||
struct fc_frame_header *fh;
|
||||
u32 vlan_macip_lens;
|
||||
u32 fcoe_sof_eof = 0;
|
||||
|
||||
Reference in New Issue
Block a user