diff mbox series

[net-next] net/sched: fix type of htb statistics

Message ID 20180830143923.25122-1-florent.fourcot@wifirst.fr
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net-next] net/sched: fix type of htb statistics | expand

Commit Message

Florent Fourcot Aug. 30, 2018, 2:39 p.m. UTC
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>
---
 include/uapi/linux/pkt_sched.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

David Miller Sept. 2, 2018, 8:57 p.m. UTC | #1
From: Florent Fourcot <florent.fourcot@wifirst.fr>
Date: Thu, 30 Aug 2018 16:39:23 +0200

> 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>

Looks good, applied.
diff mbox series

Patch

diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h
index 8975fd1a1421..e9b7244ac381 100644
--- a/include/uapi/linux/pkt_sched.h
+++ b/include/uapi/linux/pkt_sched.h
@@ -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 */