diff options
| author | Stephen Hemminger <shemminger@osdl.org> | 2004-06-29 00:45:35 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-06-29 00:45:35 -0700 |
| commit | 5e883a3888ebbe4f271d881a93cf71e8175b5f04 (patch) | |
| tree | 7c9ae0237ef1a217319912be45eaaa0fe0156ea6 /include | |
| parent | e560d2c3894250fd053f0e2235108c74b7f40b82 (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>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/pkt_sched.h | 15 |
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) |
