Message ID | 20120618105816.5fdd0b90@nehalam.linuxnetplumber.net |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, 2012-06-18 at 10:58 -0700, Stephen Hemminger wrote: > The code to pad packets here is the same effective code as > the existing inline function skb_padto(). There is a minor > performance gain since skb_padto() also uses unlikely(). > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Thanks Stephen, I have added it to my queue.
On 06/18/2012 10:58 AM, Stephen Hemminger wrote: > The code to pad packets here is the same effective code as > the existing inline function skb_padto(). There is a minor > performance gain since skb_padto() also uses unlikely(). > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2012-06-18 10:53:09.130376800 -0700 > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2012-06-18 10:55:13.104540844 -0700 > @@ -6389,11 +6389,8 @@ static netdev_tx_t ixgbe_xmit_frame(stru > * 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)) > - return NETDEV_TX_OK; > - skb->len = 17; > - } > + if (skb_padto(skb, 17)) > + return NETDEV_TX_OK; > > tx_ring = adapter->tx_ring[skb->queue_mapping]; > return ixgbe_xmit_frame_ring(skb, adapter, tx_ring); I don't think this will work. We need to update the skb->len and last I knew skb_padto doesn't do that. Thanks, Alex -- 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
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2012-06-18 10:53:09.130376800 -0700 +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2012-06-18 10:55:13.104540844 -0700 @@ -6389,11 +6389,8 @@ static netdev_tx_t ixgbe_xmit_frame(stru * 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)) - return NETDEV_TX_OK; - skb->len = 17; - } + if (skb_padto(skb, 17)) + return NETDEV_TX_OK; tx_ring = adapter->tx_ring[skb->queue_mapping]; return ixgbe_xmit_frame_ring(skb, adapter, tx_ring);
The code to pad packets here is the same effective code as the existing inline function skb_padto(). There is a minor performance gain since skb_padto() also uses unlikely(). Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> -- 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