On Wed, Feb 5, 2025 at 9:47 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Wed, 5 Feb 2025 02:30:17 +0800 Jason Xing wrote: > > @@ -4565,7 +4566,7 @@ static inline void skb_tx_timestamp(struct sk_buff *skb) > > { > > skb_clone_tx_timestamp(skb); > > if (skb_shinfo(skb)->tx_flags & SKBTX_SW_TSTAMP) > > - skb_tstamp_tx(skb, NULL); > > + __skb_tstamp_tx(skb, NULL, NULL, skb->sk, true, SCM_TSTAMP_SND); > > } > > Please move skb_tx_timestamp() to net/core/timestamping.c > You can make skb_clone_tx_timestamp() static, this is its only caller. I just tested it and it works after reading your message. I wonder if we need a separate cleanup after this series about moving this kind of functions into net/core/timestamping.c, say, __skb_tstamp_tx()? Thanks, Jason > This way on balance we won't be adding any non-inlined calls, > and we don't have to drag the linux/errqueue.h include into skbuff.h