microsoft / net-offloads

Specs for new networking hardware offloads.
MIT License
27 stars 3 forks source link

TPTO Should Support Batched Sends #49

Closed nibanks closed 1 year ago

nibanks commented 1 year ago

Daiki and I discussed TPTO (time-based packet transmission offload) some yesterday and we concluded that it makes little sense to design TPTO for single packet sends. Pacing is most important when you have a burst of packets to send but what to spread them out. To improve the CPU efficiency of the send path, we have added batching (LSO,USO) over the years. We should not regress that functionality with TPTO.

Towards that end, TPTO should be defined to take both a TimeStart and a TimeDelta (units likely in some multiple of nanoseconds, or perhaps QPC). The offload would then be responsible for taking the batch and sending them out starting at TimeStart and spread out by TimeDelta.

cc @BorisPis & @stevedoyle for input from the HW side

nibanks commented 1 year ago

I think we can close this, as the latest updates now reflect this design.