netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iproute2-next] tc/taprio: print the offload xstats
@ 2023-06-07 12:54 Vladimir Oltean
  2023-06-07 15:13 ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: Vladimir Oltean @ 2023-06-07 12:54 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern, Stephen Hemminger

When the kernel reports offload counters through TCA_STATS2 ->
TCA_STATS_APP for the taprio qdisc, decode and print them.

Usage:

 # Global stats
 $ tc -s qdisc show dev eth0 root
 # Per-tc stats
 $ tc -s class show dev eth0

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
 tc/q_taprio.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/tc/q_taprio.c b/tc/q_taprio.c
index bc29710c4686..359c4c03b8c6 100644
--- a/tc/q_taprio.c
+++ b/tc/q_taprio.c
@@ -649,8 +649,32 @@ static int taprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 	return 0;
 }
 
+static int taprio_print_xstats(struct qdisc_util *qu, FILE *f,
+			       struct rtattr *xstats)
+{
+	struct rtattr *st[TCA_TAPRIO_OFFLOAD_STATS_MAX + 1], *nla;
+
+	if (!xstats)
+		return 0;
+
+	parse_rtattr_nested(st, TCA_TAPRIO_OFFLOAD_STATS_MAX, xstats);
+
+	nla = st[TCA_TAPRIO_OFFLOAD_STATS_WINDOW_DROPS];
+	if (nla)
+		print_lluint(PRINT_ANY, "window-drops", " Window drops: %llu",
+			     rta_getattr_u64(nla));
+
+	nla = st[TCA_TAPRIO_OFFLOAD_STATS_TX_OVERRUNS];
+	if (nla)
+		print_lluint(PRINT_ANY, "tx-overruns", " Transmit overruns: %llu",
+			     rta_getattr_u64(nla));
+
+	return 0;
+}
+
 struct qdisc_util taprio_qdisc_util = {
 	.id		= "taprio",
 	.parse_qopt	= taprio_parse_opt,
 	.print_qopt	= taprio_print_opt,
+	.print_xstats	= taprio_print_xstats,
 };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH iproute2-next] tc/taprio: print the offload xstats
  2023-06-07 12:54 [PATCH iproute2-next] tc/taprio: print the offload xstats Vladimir Oltean
@ 2023-06-07 15:13 ` Stephen Hemminger
  2023-06-07 15:33   ` Vladimir Oltean
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Hemminger @ 2023-06-07 15:13 UTC (permalink / raw)
  To: Vladimir Oltean; +Cc: netdev, David Ahern

On Wed,  7 Jun 2023 15:54:41 +0300
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> +static int taprio_print_xstats(struct qdisc_util *qu, FILE *f,
> +			       struct rtattr *xstats)
> +{
> +	struct rtattr *st[TCA_TAPRIO_OFFLOAD_STATS_MAX + 1], *nla;
> +
> +	if (!xstats)
> +		return 0;
> +
> +	parse_rtattr_nested(st, TCA_TAPRIO_OFFLOAD_STATS_MAX, xstats);
> +
> +	nla = st[TCA_TAPRIO_OFFLOAD_STATS_WINDOW_DROPS];
> +	if (nla)
> +		print_lluint(PRINT_ANY, "window-drops", " Window drops: %llu",
> +			     rta_getattr_u64(nla));
> +
> +	nla = st[TCA_TAPRIO_OFFLOAD_STATS_TX_OVERRUNS];
> +	if (nla)
> +		print_lluint(PRINT_ANY, "tx-overruns", " Transmit overruns: %llu",
> +			     rta_getattr_u64(nla));
> +

Ok, but the choice of wording here is off. It makes taprio stats different
in style than other qdisc. The convention in other qdisc is not to use upper case,
and use a one word key.

In other words, not "window-drops", " Window drops: %llu" but instead
      "window_drops", " window_drops %llu",

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH iproute2-next] tc/taprio: print the offload xstats
  2023-06-07 15:13 ` Stephen Hemminger
@ 2023-06-07 15:33   ` Vladimir Oltean
  0 siblings, 0 replies; 3+ messages in thread
From: Vladimir Oltean @ 2023-06-07 15:33 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev, David Ahern

On Wed, Jun 07, 2023 at 08:13:35AM -0700, Stephen Hemminger wrote:
> Ok, but the choice of wording here is off. It makes taprio stats different
> in style than other qdisc. The convention in other qdisc is not to use upper case,
> and use a one word key.
> 
> In other words, not "window-drops", " Window drops: %llu" but instead
>       "window_drops", " window_drops %llu",

Ok. v2 coming.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-07 15:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-07 12:54 [PATCH iproute2-next] tc/taprio: print the offload xstats Vladimir Oltean
2023-06-07 15:13 ` Stephen Hemminger
2023-06-07 15:33   ` Vladimir Oltean

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).