Open alban opened 4 months ago
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs.
Hey :) Could you assign me this ticke? I would like to try implementing this gadget.
@alban I've implemented a basic version of this, is it ok if I open a PR?
@alban I've implemented a basic version of this, is it ok if I open a PR?
Yes, please do :)
One thing though, I checked the kernel sources and the qdisc:qdisc_enqueue
tracepoint appears to be added in 5.14. Is this OK, or should I search for an alternative function to hook?
One thing though, I checked the kernel sources and the qdisc:qdisc_enqueue tracepoint appears to be added in 5.14. Is this OK, or should I search for an alternative function to hook?
For me this is fine.
Current situation
We don't have a gadget telling how much time a network packet is waiting in the network scheduler.
Impact
This is one piece missing to investigate network problems.
Ideal future situation
Histogram showing latency in network scheduler, similar to top-block-io gadget.
Implementation options
We can use the following tracepoints:
We can use a hash table keyed by the skb and measure the time between the enqueue and the dequeue. Note that the dequeue could dequeue several skbs in the same call, so we also need consume_skb and kfree_skb to clean up the map.
Additional information
cc @blanquicet