]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
Increase internal clock resolution to nsec
authorPatrick McHardy <kaber@trash.net>
Sun, 4 Mar 2007 19:15:04 +0000 (20:15 +0100)
committerStephen Hemminger <shemminger@linux-foundation.org>
Tue, 13 Mar 2007 21:42:20 +0000 (14:42 -0700)
[IPROUTE]: Increase internal clock resolution to nsec

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
tc/tc_core.h
tc/tc_util.c

index a139da6f6652d37d209677aeaff60874b9c147c6..28bf97a2e8f97ad7d413e2cf87ef6d3212375e72 100644 (file)
@@ -4,7 +4,7 @@
 #include <asm/types.h>
 #include <linux/pkt_sched.h>
 
-#define TIME_UNITS_PER_SEC     1000000
+#define TIME_UNITS_PER_SEC     1000000000
 
 int  tc_core_time2big(long time);
 long tc_core_time2tick(long time);
index a7e42572db19d44a81ab10d9176ff85cced1d846..a07c6aad9ee55d0ca51987d6cc1891990b8401b9 100644 (file)
@@ -228,6 +228,9 @@ int get_time(unsigned *time, const char *str)
                else if (strcasecmp(p, "us") == 0 || strcasecmp(p, "usec")==0 ||
                         strcasecmp(p, "usecs") == 0)
                        t *= TIME_UNITS_PER_SEC/1000000;
+               else if (strcasecmp(p, "ns") == 0 || strcasecmp(p, "nsec")==0 ||
+                        strcasecmp(p, "nsecs") == 0)
+                       t *= TIME_UNITS_PER_SEC/1000000000;
                else
                        return -1;
        }
@@ -245,8 +248,10 @@ void print_time(char *buf, int len, __u32 time)
                snprintf(buf, len, "%.1fs", tmp/TIME_UNITS_PER_SEC);
        else if (tmp >= TIME_UNITS_PER_SEC/1000)
                snprintf(buf, len, "%.1fms", tmp/(TIME_UNITS_PER_SEC/1000));
+       else if (tmp >= TIME_UNITS_PER_SEC/1000000)
+               snprintf(buf, len, "%.1fus", tmp/(TIME_UNITS_PER_SEC/1000000));
        else
-               snprintf(buf, len, "%uus", time);
+               snprintf(buf, len, "%uns", time);
 }
 
 char * sprint_time(__u32 time, char *buf)