diff options
author | Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | 2007-08-19 20:15:37 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:48:12 -0400 |
commit | e7a81c6d62cbefdeb23d92ad891f429bde1c49d2 (patch) | |
tree | a0261c00db634bb307ee9e5a583c371307ec905d /net/dccp | |
parent | 1faf0a1f5d9cafe031b8faa91636b67cdca726a3 (diff) |
[DCCP]: Convert ccid3hcrx_tstamp_last_feedback 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')
-rw-r--r-- | net/dccp/ccids/ccid3.c | 19 | ||||
-rw-r--r-- | net/dccp/ccids/ccid3.h | 2 |
2 files changed, 12 insertions, 9 deletions
diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c index 63051eb1779d..1a0c5edb7b35 100644 --- a/net/dccp/ccids/ccid3.c +++ b/net/dccp/ccids/ccid3.c | |||
@@ -729,20 +729,21 @@ static void ccid3_hc_rx_send_feedback(struct sock *sk) | |||
729 | struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk); | 729 | struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk); |
730 | struct dccp_sock *dp = dccp_sk(sk); | 730 | struct dccp_sock *dp = dccp_sk(sk); |
731 | struct dccp_rx_hist_entry *packet; | 731 | struct dccp_rx_hist_entry *packet; |
732 | struct timeval now; | 732 | struct timeval tnow; |
733 | ktime_t now; | ||
733 | suseconds_t delta; | 734 | suseconds_t delta; |
734 | 735 | ||
735 | ccid3_pr_debug("%s(%p) - entry \n", dccp_role(sk), sk); | 736 | ccid3_pr_debug("%s(%p) - entry \n", dccp_role(sk), sk); |
736 | 737 | ||
737 | dccp_timestamp(sk, &now); | 738 | now = ktime_get_real(); |
738 | 739 | ||
739 | switch (hcrx->ccid3hcrx_state) { | 740 | switch (hcrx->ccid3hcrx_state) { |
740 | case TFRC_RSTATE_NO_DATA: | 741 | case TFRC_RSTATE_NO_DATA: |
741 | hcrx->ccid3hcrx_x_recv = 0; | 742 | hcrx->ccid3hcrx_x_recv = 0; |
742 | break; | 743 | break; |
743 | case TFRC_RSTATE_DATA: | 744 | case TFRC_RSTATE_DATA: |
744 | delta = timeval_delta(&now, | 745 | delta = ktime_us_delta(now, |
745 | &hcrx->ccid3hcrx_tstamp_last_feedback); | 746 | hcrx->ccid3hcrx_tstamp_last_feedback); |
746 | DCCP_BUG_ON(delta < 0); | 747 | DCCP_BUG_ON(delta < 0); |
747 | hcrx->ccid3hcrx_x_recv = | 748 | hcrx->ccid3hcrx_x_recv = |
748 | scaled_div32(hcrx->ccid3hcrx_bytes_recv, delta); | 749 | scaled_div32(hcrx->ccid3hcrx_bytes_recv, delta); |
@@ -764,7 +765,8 @@ static void ccid3_hc_rx_send_feedback(struct sock *sk) | |||
764 | hcrx->ccid3hcrx_bytes_recv = 0; | 765 | hcrx->ccid3hcrx_bytes_recv = 0; |
765 | 766 | ||
766 | /* Elapsed time information [RFC 4340, 13.2] in units of 10 * usecs */ | 767 | /* Elapsed time information [RFC 4340, 13.2] in units of 10 * usecs */ |
767 | delta = timeval_delta(&now, &packet->dccphrx_tstamp); | 768 | tnow = ktime_to_timeval(now); |
769 | delta = timeval_delta(&tnow, &packet->dccphrx_tstamp); | ||
768 | DCCP_BUG_ON(delta < 0); | 770 | DCCP_BUG_ON(delta < 0); |
769 | hcrx->ccid3hcrx_elapsed_time = delta / 10; | 771 | hcrx->ccid3hcrx_elapsed_time = delta / 10; |
770 | 772 | ||
@@ -835,11 +837,13 @@ static int ccid3_hc_rx_detect_loss(struct sock *sk, | |||
835 | 837 | ||
836 | while (dccp_delta_seqno(hcrx->ccid3hcrx_seqno_nonloss, seqno) | 838 | while (dccp_delta_seqno(hcrx->ccid3hcrx_seqno_nonloss, seqno) |
837 | > TFRC_RECV_NUM_LATE_LOSS) { | 839 | > TFRC_RECV_NUM_LATE_LOSS) { |
840 | struct timeval tstamp = | ||
841 | ktime_to_timeval(hcrx->ccid3hcrx_tstamp_last_feedback); | ||
838 | loss = 1; | 842 | loss = 1; |
839 | dccp_li_update_li(sk, | 843 | dccp_li_update_li(sk, |
840 | &hcrx->ccid3hcrx_li_hist, | 844 | &hcrx->ccid3hcrx_li_hist, |
841 | &hcrx->ccid3hcrx_hist, | 845 | &hcrx->ccid3hcrx_hist, |
842 | &hcrx->ccid3hcrx_tstamp_last_feedback, | 846 | &tstamp, |
843 | hcrx->ccid3hcrx_s, | 847 | hcrx->ccid3hcrx_s, |
844 | hcrx->ccid3hcrx_bytes_recv, | 848 | hcrx->ccid3hcrx_bytes_recv, |
845 | hcrx->ccid3hcrx_x_recv, | 849 | hcrx->ccid3hcrx_x_recv, |
@@ -989,9 +993,8 @@ static int ccid3_hc_rx_init(struct ccid *ccid, struct sock *sk) | |||
989 | hcrx->ccid3hcrx_state = TFRC_RSTATE_NO_DATA; | 993 | hcrx->ccid3hcrx_state = TFRC_RSTATE_NO_DATA; |
990 | INIT_LIST_HEAD(&hcrx->ccid3hcrx_hist); | 994 | INIT_LIST_HEAD(&hcrx->ccid3hcrx_hist); |
991 | INIT_LIST_HEAD(&hcrx->ccid3hcrx_li_hist); | 995 | INIT_LIST_HEAD(&hcrx->ccid3hcrx_li_hist); |
992 | hcrx->ccid3hcrx_tstamp_last_ack = ktime_get_real(); | ||
993 | hcrx->ccid3hcrx_tstamp_last_feedback = | 996 | hcrx->ccid3hcrx_tstamp_last_feedback = |
994 | ktime_to_timeval(hcrx->ccid3hcrx_tstamp_last_ack); | 997 | hcrx->ccid3hcrx_tstamp_last_ack = ktime_get_real(); |
995 | hcrx->ccid3hcrx_s = 0; | 998 | hcrx->ccid3hcrx_s = 0; |
996 | hcrx->ccid3hcrx_rtt = 0; | 999 | hcrx->ccid3hcrx_rtt = 0; |
997 | return 0; | 1000 | return 0; |
diff --git a/net/dccp/ccids/ccid3.h b/net/dccp/ccids/ccid3.h index a69cf887e3e3..7cbf2b1329d9 100644 --- a/net/dccp/ccids/ccid3.h +++ b/net/dccp/ccids/ccid3.h | |||
@@ -152,7 +152,7 @@ struct ccid3_hc_rx_sock { | |||
152 | ccid3hcrx_ccval_last_counter:4; | 152 | ccid3hcrx_ccval_last_counter:4; |
153 | enum ccid3_hc_rx_states ccid3hcrx_state:8; | 153 | enum ccid3_hc_rx_states ccid3hcrx_state:8; |
154 | u32 ccid3hcrx_bytes_recv; | 154 | u32 ccid3hcrx_bytes_recv; |
155 | struct timeval ccid3hcrx_tstamp_last_feedback; | 155 | ktime_t ccid3hcrx_tstamp_last_feedback; |
156 | ktime_t ccid3hcrx_tstamp_last_ack; | 156 | ktime_t ccid3hcrx_tstamp_last_ack; |
157 | struct list_head ccid3hcrx_hist; | 157 | struct list_head ccid3hcrx_hist; |
158 | struct list_head ccid3hcrx_li_hist; | 158 | struct list_head ccid3hcrx_li_hist; |