net: atlantic: generate software timestamp just before the doorbell
authorJason Xing <kernelxing@tencent.com>
Sat, 10 May 2025 13:48:10 +0000 (21:48 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 15 May 2025 02:32:53 +0000 (19:32 -0700)
Make sure the call of skb_tx_timestamp is as close as possible to the
doorbell.

Signed-off-by: Jason Xing <kernelxing@tencent.com>
Link: https://patch.msgid.link/20250510134812.48199-2-kerneljasonxing@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/aquantia/atlantic/aq_main.c
drivers/net/ethernet/aquantia/atlantic/aq_nic.c

index c1d1673c5749d6c53ee1779702a37e1bb8664f2f..b565189e591398be52ec549961ad1c4ff1ce5f91 100644 (file)
@@ -123,7 +123,6 @@ static netdev_tx_t aq_ndev_start_xmit(struct sk_buff *skb, struct net_device *nd
        }
 #endif
 
-       skb_tx_timestamp(skb);
        return aq_nic_xmit(aq_nic, skb);
 }
 
index bf3aa46887a1c1a831ee25627aabebf697e644c1..e71cd10e4e1f14f3dfcc612b7d32a25f221d6e9b 100644 (file)
@@ -898,6 +898,8 @@ int aq_nic_xmit(struct aq_nic_s *self, struct sk_buff *skb)
 
        frags = aq_nic_map_skb(self, skb, ring);
 
+       skb_tx_timestamp(skb);
+
        if (likely(frags)) {
                err = self->aq_hw_ops->hw_ring_tx_xmit(self->aq_hw,
                                                       ring, frags);