• Geneviève Bastien's avatar
    net: Add trace events for all receive exit points · b0e3f1bd
    Geneviève Bastien authored
    Trace events are already present for the receive entry points, to indicate
    how the reception entered the stack.
    
    This patch adds the corresponding exit trace events that will bound the
    reception such that all events occurring between the entry and the exit
    can be considered as part of the reception context. This greatly helps
    for dependency and root cause analyses.
    
    Without this, it is not possible with tracepoint instrumentation to
    determine whether a sched_wakeup event following a netif_receive_skb
    event is the result of the packet reception or a simple coincidence after
    further processing by the thread. It is possible using other mechanisms
    like kretprobes, but considering the "entry" points are already present,
    it would be good to add the matching exit events.
    
    In addition to linking packets with wakeups, the entry/exit event pair
    can also be used to perform network stack latency analyses.
    Signed-off-by: default avatarGeneviève Bastien <gbastien@versatic.net>
    CC: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    CC: Steven Rostedt <rostedt@goodmis.org>
    CC: Ingo Molnar <mingo@redhat.com>
    CC: David S. Miller <davem@davemloft.net>
    Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> (tracing side)
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b0e3f1bd
dev.c 243 KB