summaryrefslogtreecommitdiff
path: root/net/core/net-traces.c
diff options
context:
space:
mode:
authorJesper Dangaard Brouer <brouer@redhat.com>2017-08-15 21:11:03 +0200
committerDavid S. Miller <davem@davemloft.net>2017-08-16 14:10:10 -0700
commite543002f77f463501d47fab43acf7ba881e9dcaf (patch)
treedf0bc9e62c8730cca0f90c5c1f1368e849d301d9 /net/core/net-traces.c
parent7440cccee02a72a2e16f26c7cff674c15f5cd85b (diff)
downloadlinux-e543002f77f463501d47fab43acf7ba881e9dcaf.tar.gz
qdisc: add tracepoint qdisc:qdisc_dequeue for dequeued SKBs
The main purpose of this tracepoint is to monitor bulk dequeue in the network qdisc layer, as it cannot be deducted from the existing qdisc stats. The txq_state can be used for determining the reason for zero packet dequeues, see enum netdev_queue_state_t. Notice all packets doesn't necessary activate this tracepoint. As qdiscs with flag TCQ_F_CAN_BYPASS, can directly invoke sch_direct_xmit() when qdisc_qlen is zero. Remember that perf record supports filters like: perf record -e qdisc:qdisc_dequeue \ --filter 'ifindex == 4 && (packets > 1 || txq_state > 0)' Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/net-traces.c')
-rw-r--r--net/core/net-traces.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/net-traces.c b/net/core/net-traces.c
index 92da5e4ceb4f..4f1468ccd056 100644
--- a/net/core/net-traces.c
+++ b/net/core/net-traces.c
@@ -32,6 +32,7 @@
#include <trace/events/sock.h>
#include <trace/events/udp.h>
#include <trace/events/fib.h>
+#include <trace/events/qdisc.h>
#if IS_ENABLED(CONFIG_IPV6)
#include <trace/events/fib6.h>
EXPORT_TRACEPOINT_SYMBOL_GPL(fib6_table_lookup);