On Sat, Jul 16, 2016 at 7:08 AM, Konstantin Khlebnikov <khlebni...@yandex-team.ru> wrote: > In kernel HTB keeps tokens in signed 64-bit in nanoseconds. In netlink > protocol these values are converted into pshed ticks (64ns for now) and > truncated to 32-bit. In struct tc_htb_xstats fields "tokens" and "ctokens" > are declared as unsigned 32-bit but they could be negative thus tool 'tc' > prints them as signed. Big values loose higher bits and/or become negative. > > This patch clamps tokens in xstat into range from INT_MIN to INT_MAX. > In this way it's easier to understand what's going on here.
Makes sense to me, I don't know why we didn't use signed int in the beginning, interpreting an unsigned int as signed is confusing.