On 1/13/26 4:08 AM, Jakub Kicinski wrote: > On Sat, 10 Jan 2026 22:05:14 +0100 Jakub Sitnicki wrote: >> This series is split out of [1] following discussion with Jakub. >> >> To copy XDP metadata into an skb extension when skb_metadata_set() is >> called, we need to locate the metadata contents. > > "When skb_metadata_set() is called"? I think that may cause perf > regressions unless we merge major optimizations at the same time? > Should we defer touching the drivers until we have a PoC and some > idea whether allocating the extension right away is manageable or > we are better off doing it via a kfunc in TC (after GRO)? > To be clear putting the metadata in an extension right away would > indeed be much cleaner, just not sure how much of the perf hit we > can optimize away..
I agree it would be better deferring touching the driver before we have proof there will not be significant regressions. IIRC, at early MPTCP impl time, Eric suggested increasing struct sk_buff size as an alternative to the mptcp skb extension, leaving the added trailing part uninitialized when the sk_buff is allocated. If skb extensions usage become so ubicuos they are basically allocated for each packet, the total skb extension is kept under strict control and remains reasonable (assuming it is :), perhaps we could consider revisiting the above mentioned approach? /P
