net/sched: fix type of htb statistics
authorFlorent Fourcot <florent.fourcot@wifirst.fr>
Thu, 30 Aug 2018 14:39:23 +0000 (16:39 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 2 Sep 2018 20:57:12 +0000 (13:57 -0700)
tokens and ctokens are defined as s64 in htb_class structure,
and clamped to 32bits value during netlink dumps:

cl->xstats.tokens = clamp_t(s64, PSCHED_NS2TICKS(cl->tokens),
                            INT_MIN, INT_MAX);

Defining it as u32 is working since userspace (tc) is printing it as
signed int, but a correct definition from the beginning is probably
better.

In the same time, 'giants' structure member is unused since years, so
update the comment to mark it unused.

Signed-off-by: Florent Fourcot <florent.fourcot@wifirst.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/pkt_sched.h

index 8975fd1a1421f58952abed4b9d54f839711268df..e9b7244ac3819b7cf56c912a2337aa0e1bde820c 100644 (file)
@@ -395,9 +395,9 @@ enum {
 struct tc_htb_xstats {
        __u32 lends;
        __u32 borrows;
-       __u32 giants;   /* too big packets (rate will not be accurate) */
-       __u32 tokens;
-       __u32 ctokens;
+       __u32 giants;   /* unused since 'Make HTB scheduler work with TSO.' */
+       __s32 tokens;
+       __s32 ctokens;
 };
 
 /* HFSC section */