Kernel transmit latency is often incurred in the packet scheduler. Introduce a new timestamp on transmission just before entering the scheduler. When data travels through multiple devices (bonding, tunneling, ...) each device will export an individual timestamp.
Showing the changes to include/uapi/linux/errqueue.h (1 of 6 files). Show all
Unified · Split
| @@ -39,6 +39,7 @@ struct scm_timestamping { · 38 unmodified lines | ||
| 39 | 39 | */ |
| 40 | 40 | enum { |
| 41 | 41 | SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */ |
| 42 | + SCM_TSTAMP_SCHED, /* data entered the packet scheduler */ | |
| 42 | 43 | }; |
| 43 | 44 | |
| 44 | 45 | #endif /* _UAPI_LINUX_ERRQUEUE_H */ |