summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2004-06-29 00:45:35 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-06-29 00:45:35 -0700
commit5e883a3888ebbe4f271d881a93cf71e8175b5f04 (patch)
tree7c9ae0237ef1a217319912be45eaaa0fe0156ea6
parente560d2c3894250fd053f0e2235108c74b7f40b82 (diff)
[PKT_SCHED]: Use get_jiffies_64()
The packet scheduler simulates 64 bit jiffies on 32 bit platforms by running a timer keeping a mark and and offset. Since there is no locking and this is racy and doesn't handle jiffie wrap real well. We can use get_jiffies_64 on 2.6 do get what is needed. The downside is the overhead of a function call, and a cache miss in get_jiffies_64. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@redhat.com>
-rw-r--r--include/net/pkt_sched.h15
1 files changed, 1 insertions, 14 deletions
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
index 2b9adcee816e..99bc7af242a5 100644
--- a/include/net/pkt_sched.h
+++ b/include/net/pkt_sched.h
@@ -231,20 +231,7 @@ extern psched_time_t psched_time_base;
#define PSCHED_JSCALE 10
#endif
-#if BITS_PER_LONG <= 32
-
-#define PSCHED_WATCHER unsigned long
-
-extern PSCHED_WATCHER psched_time_mark;
-
-#define PSCHED_GET_TIME(stamp) ((stamp) = psched_time_base + (((unsigned long)(jiffies-psched_time_mark))<<PSCHED_JSCALE))
-
-#else
-
-#define PSCHED_GET_TIME(stamp) ((stamp) = (jiffies<<PSCHED_JSCALE))
-
-#endif
-
+#define PSCHED_GET_TIME(stamp) ((stamp) = (get_jiffies_64()<<PSCHED_JSCALE))
#define PSCHED_US2JIFFIE(delay) (((delay)+(1<<PSCHED_JSCALE)-1)>>PSCHED_JSCALE)
#define PSCHED_JIFFIE2US(delay) ((delay)<<PSCHED_JSCALE)