net: ena: Relocate skb_tx_timestamp() to improve time stamping accuracy
authorDavid Arinzon <darinzon@amazon.com>
Tue, 30 Jan 2024 09:53:50 +0000 (09:53 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 1 Feb 2024 12:22:12 +0000 (13:22 +0100)
Move skb_tx_timestamp() closer to the actual time the driver sends the
packets to the device.

Signed-off-by: Osama Abboud <osamaabb@amazon.com>
Signed-off-by: David Arinzon <darinzon@amazon.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/amazon/ena/ena_netdev.c

index ae9291b..d4ca406 100644 (file)
@@ -2614,8 +2614,6 @@ static netdev_tx_t ena_start_xmit(struct sk_buff *skb, struct net_device *dev)
        if (unlikely(rc))
                goto error_drop_packet;
 
-       skb_tx_timestamp(skb);
-
        next_to_use = tx_ring->next_to_use;
        req_id = tx_ring->free_ids[next_to_use];
        tx_info = &tx_ring->tx_buffer_info[req_id];
@@ -2679,6 +2677,8 @@ static netdev_tx_t ena_start_xmit(struct sk_buff *skb, struct net_device *dev)
                }
        }
 
+       skb_tx_timestamp(skb);
+
        if (netif_xmit_stopped(txq) || !netdev_xmit_more())
                /* trigger the dma engine. ena_ring_tx_doorbell()
                 * calls a memory barrier inside it.