diff options
author | Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | 2007-08-19 20:17:51 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:48:14 -0400 |
commit | e7c2335794b949292ecfd01902c429e2ac3937e1 (patch) | |
tree | 1e10116e6635e1b4c1da7890817fd89d6eab285d /net/dccp/ccids/lib | |
parent | b8bda9d70842dab7902f0681e1297dcf0460fc94 (diff) |
[DCCP] packet_history: convert dccphrx_tstamp to ktime_t
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ccids/lib')
-rw-r--r-- | net/dccp/ccids/lib/loss_interval.c | 11 | ||||
-rw-r--r-- | net/dccp/ccids/lib/loss_interval.h | 4 | ||||
-rw-r--r-- | net/dccp/ccids/lib/packet_history.h | 6 |
3 files changed, 10 insertions, 11 deletions
diff --git a/net/dccp/ccids/lib/loss_interval.c b/net/dccp/ccids/lib/loss_interval.c index 174d3f13d93f..40ad428a27f5 100644 --- a/net/dccp/ccids/lib/loss_interval.c +++ b/net/dccp/ccids/lib/loss_interval.c | |||
@@ -125,14 +125,14 @@ static int dccp_li_hist_interval_new(struct list_head *list, | |||
125 | * returns estimated loss interval in usecs */ | 125 | * returns estimated loss interval in usecs */ |
126 | static u32 dccp_li_calc_first_li(struct sock *sk, | 126 | static u32 dccp_li_calc_first_li(struct sock *sk, |
127 | struct list_head *hist_list, | 127 | struct list_head *hist_list, |
128 | struct timeval *last_feedback, | 128 | ktime_t last_feedback, |
129 | u16 s, u32 bytes_recv, | 129 | u16 s, u32 bytes_recv, |
130 | u32 previous_x_recv) | 130 | u32 previous_x_recv) |
131 | { | 131 | { |
132 | struct dccp_rx_hist_entry *entry, *next, *tail = NULL; | 132 | struct dccp_rx_hist_entry *entry, *next, *tail = NULL; |
133 | u32 x_recv, p; | 133 | u32 x_recv, p; |
134 | suseconds_t rtt, delta; | 134 | suseconds_t rtt, delta; |
135 | struct timeval tstamp = { 0, 0 }; | 135 | ktime_t tstamp = ktime_set(0, 0); |
136 | int interval = 0; | 136 | int interval = 0; |
137 | int win_count = 0; | 137 | int win_count = 0; |
138 | int step = 0; | 138 | int step = 0; |
@@ -176,7 +176,7 @@ found: | |||
176 | return ~0; | 176 | return ~0; |
177 | } | 177 | } |
178 | 178 | ||
179 | delta = timeval_delta(&tstamp, &tail->dccphrx_tstamp); | 179 | delta = ktime_us_delta(tstamp, tail->dccphrx_tstamp); |
180 | DCCP_BUG_ON(delta < 0); | 180 | DCCP_BUG_ON(delta < 0); |
181 | 181 | ||
182 | rtt = delta * 4 / interval; | 182 | rtt = delta * 4 / interval; |
@@ -196,8 +196,7 @@ found: | |||
196 | return ~0; | 196 | return ~0; |
197 | } | 197 | } |
198 | 198 | ||
199 | dccp_timestamp(sk, &tstamp); | 199 | delta = ktime_us_delta(ktime_get_real(), last_feedback); |
200 | delta = timeval_delta(&tstamp, last_feedback); | ||
201 | DCCP_BUG_ON(delta <= 0); | 200 | DCCP_BUG_ON(delta <= 0); |
202 | 201 | ||
203 | x_recv = scaled_div32(bytes_recv, delta); | 202 | x_recv = scaled_div32(bytes_recv, delta); |
@@ -226,7 +225,7 @@ found: | |||
226 | void dccp_li_update_li(struct sock *sk, | 225 | void dccp_li_update_li(struct sock *sk, |
227 | struct list_head *li_hist_list, | 226 | struct list_head *li_hist_list, |
228 | struct list_head *hist_list, | 227 | struct list_head *hist_list, |
229 | struct timeval *last_feedback, u16 s, u32 bytes_recv, | 228 | ktime_t last_feedback, u16 s, u32 bytes_recv, |
230 | u32 previous_x_recv, u64 seq_loss, u8 win_loss) | 229 | u32 previous_x_recv, u64 seq_loss, u8 win_loss) |
231 | { | 230 | { |
232 | struct dccp_li_hist_entry *head; | 231 | struct dccp_li_hist_entry *head; |
diff --git a/net/dccp/ccids/lib/loss_interval.h b/net/dccp/ccids/lib/loss_interval.h index 906c806d6d9d..27bee92dae13 100644 --- a/net/dccp/ccids/lib/loss_interval.h +++ b/net/dccp/ccids/lib/loss_interval.h | |||
@@ -13,8 +13,8 @@ | |||
13 | * any later version. | 13 | * any later version. |
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <linux/ktime.h> | ||
16 | #include <linux/list.h> | 17 | #include <linux/list.h> |
17 | #include <linux/time.h> | ||
18 | 18 | ||
19 | extern void dccp_li_hist_purge(struct list_head *list); | 19 | extern void dccp_li_hist_purge(struct list_head *list); |
20 | 20 | ||
@@ -23,7 +23,7 @@ extern u32 dccp_li_hist_calc_i_mean(struct list_head *list); | |||
23 | extern void dccp_li_update_li(struct sock *sk, | 23 | extern void dccp_li_update_li(struct sock *sk, |
24 | struct list_head *li_hist_list, | 24 | struct list_head *li_hist_list, |
25 | struct list_head *hist_list, | 25 | struct list_head *hist_list, |
26 | struct timeval *last_feedback, u16 s, | 26 | ktime_t last_feedback, u16 s, |
27 | u32 bytes_recv, u32 previous_x_recv, | 27 | u32 bytes_recv, u32 previous_x_recv, |
28 | u64 seq_loss, u8 win_loss); | 28 | u64 seq_loss, u8 win_loss); |
29 | #endif /* _DCCP_LI_HIST_ */ | 29 | #endif /* _DCCP_LI_HIST_ */ |
diff --git a/net/dccp/ccids/lib/packet_history.h b/net/dccp/ccids/lib/packet_history.h index 60d00f015390..d9d68964d952 100644 --- a/net/dccp/ccids/lib/packet_history.h +++ b/net/dccp/ccids/lib/packet_history.h | |||
@@ -37,6 +37,7 @@ | |||
37 | #ifndef _DCCP_PKT_HIST_ | 37 | #ifndef _DCCP_PKT_HIST_ |
38 | #define _DCCP_PKT_HIST_ | 38 | #define _DCCP_PKT_HIST_ |
39 | 39 | ||
40 | #include <linux/ktime.h> | ||
40 | #include <linux/list.h> | 41 | #include <linux/list.h> |
41 | #include <linux/slab.h> | 42 | #include <linux/slab.h> |
42 | #include <linux/time.h> | 43 | #include <linux/time.h> |
@@ -124,7 +125,7 @@ struct dccp_rx_hist_entry { | |||
124 | dccphrx_ccval:4, | 125 | dccphrx_ccval:4, |
125 | dccphrx_type:4; | 126 | dccphrx_type:4; |
126 | u32 dccphrx_ndp; /* In fact it is from 8 to 24 bits */ | 127 | u32 dccphrx_ndp; /* In fact it is from 8 to 24 bits */ |
127 | struct timeval dccphrx_tstamp; | 128 | ktime_t dccphrx_tstamp; |
128 | }; | 129 | }; |
129 | 130 | ||
130 | struct dccp_rx_hist { | 131 | struct dccp_rx_hist { |
@@ -136,7 +137,6 @@ extern void dccp_rx_hist_delete(struct dccp_rx_hist *hist); | |||
136 | 137 | ||
137 | static inline struct dccp_rx_hist_entry * | 138 | static inline struct dccp_rx_hist_entry * |
138 | dccp_rx_hist_entry_new(struct dccp_rx_hist *hist, | 139 | dccp_rx_hist_entry_new(struct dccp_rx_hist *hist, |
139 | const struct sock *sk, | ||
140 | const u32 ndp, | 140 | const u32 ndp, |
141 | const struct sk_buff *skb, | 141 | const struct sk_buff *skb, |
142 | const gfp_t prio) | 142 | const gfp_t prio) |
@@ -151,7 +151,7 @@ static inline struct dccp_rx_hist_entry * | |||
151 | entry->dccphrx_ccval = dh->dccph_ccval; | 151 | entry->dccphrx_ccval = dh->dccph_ccval; |
152 | entry->dccphrx_type = dh->dccph_type; | 152 | entry->dccphrx_type = dh->dccph_type; |
153 | entry->dccphrx_ndp = ndp; | 153 | entry->dccphrx_ndp = ndp; |
154 | dccp_timestamp(sk, &entry->dccphrx_tstamp); | 154 | entry->dccphrx_tstamp = ktime_get_real(); |
155 | } | 155 | } |
156 | 156 | ||
157 | return entry; | 157 | return entry; |