From: Eric Dumazet <eduma...@google.com>

In linux-4.9 fq packet scheduler got a new stat :

unthrottle_latency in nano second units.

Gives a good indication of system load or timer implementation
latencies.

Signed-off-by: Eric Dumazet <eduma...@google.com>
---
 include/linux/pkt_sched.h |    2 +-
 tc/q_fq.c                 |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
index f8e39db..df7451d 100644
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -811,7 +811,7 @@ struct tc_fq_qd_stats {
        __u32   flows;
        __u32   inactive_flows;
        __u32   throttled_flows;
-       __u32   pad;
+       __u32   unthrottle_latency_ns;
 };
 
 /* Heavy-Hitter Filter */
diff --git a/tc/q_fq.c b/tc/q_fq.c
index 90147a6..c9efbfc 100644
--- a/tc/q_fq.c
+++ b/tc/q_fq.c
@@ -312,6 +312,9 @@ static int fq_print_xstats(struct qdisc_util *qu, FILE *f,
 
        fprintf(f, ", %llu throttled", st->throttled);
 
+       if (st->unthrottle_latency_ns)
+               fprintf(f, ", %u ns latency", st->unthrottle_latency_ns);
+
        if (st->flows_plimit)
                fprintf(f, ", %llu flows_plimit", st->flows_plimit);
 


Reply via email to