Message ID | 1340280910-22651-1-git-send-email-jeffrey.t.kirsher@intel.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Thu, 21 Jun 2012 05:15:10 -0700 > From: Stephen Hemminger <shemminger@vyatta.com> > > The check for length <= 0 is bogus because length is unsigned, and network > stack never sends zero length packets (unless it is totally broken). > > The check for really small packets can be optimized (using unlikely) > and calling skb_pad directly. > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Not really fixing anything and more of a cleanup, so maybe 'net-next' instead of 'net' for this guy instead? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2012-06-21 at 13:38 -0700, David Miller wrote: > From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> > Date: Thu, 21 Jun 2012 05:15:10 -0700 > > > From: Stephen Hemminger <shemminger@vyatta.com> > > > > The check for length <= 0 is bogus because length is unsigned, and network > > stack never sends zero length packets (unless it is totally broken). > > > > The check for really small packets can be optimized (using unlikely) > > and calling skb_pad directly. > > > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> > > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> > > Not really fixing anything and more of a cleanup, so maybe 'net-next' > instead of 'net' for this guy instead? Yeah, net-next is fine. I just verified that the patch applies cleanly to net-next as well.
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Thu, 21 Jun 2012 14:28:09 -0700 > On Thu, 2012-06-21 at 13:38 -0700, David Miller wrote: >> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> >> Date: Thu, 21 Jun 2012 05:15:10 -0700 >> >> > From: Stephen Hemminger <shemminger@vyatta.com> >> > >> > The check for length <= 0 is bogus because length is unsigned, and network >> > stack never sends zero length packets (unless it is totally broken). >> > >> > The check for really small packets can be optimized (using unlikely) >> > and calling skb_pad directly. >> > >> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> >> > Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> >> > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> >> >> Not really fixing anything and more of a cleanup, so maybe 'net-next' >> instead of 'net' for this guy instead? > > Yeah, net-next is fine. I just verified that the patch applies cleanly > to net-next as well. Great, applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index cbb05d6..9afe0cb 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -6383,17 +6383,12 @@ static netdev_tx_t ixgbe_xmit_frame(struct sk_buff *skb, struct ixgbe_adapter *adapter = netdev_priv(netdev); struct ixgbe_ring *tx_ring; - if (skb->len <= 0) { - dev_kfree_skb_any(skb); - return NETDEV_TX_OK; - } - /* * The minimum packet size for olinfo paylen is 17 so pad the skb * in order to meet this minimum size requirement. */ - if (skb->len < 17) { - if (skb_padto(skb, 17)) + if (unlikely(skb->len < 17)) { + if (skb_pad(skb, 17 - skb->len)) return NETDEV_TX_OK; skb->len = 17; }