git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
net
/
ipv4
/
tcp_timer.c
diff --git
a/net/ipv4/tcp_timer.c
b/net/ipv4/tcp_timer.c
index
58796c6
..
72a5a50
100644
(file)
--- a/
net/ipv4/tcp_timer.c
+++ b/
net/ipv4/tcp_timer.c
@@
-68,18
+68,13
@@
void tcp_clear_xmit_timers(struct sock *sk)
struct tcp_opt *tp = tcp_sk(sk);
tp->pending = 0;
struct tcp_opt *tp = tcp_sk(sk);
tp->pending = 0;
- if (timer_pending(&tp->retransmit_timer) &&
- del_timer(&tp->retransmit_timer))
- __sock_put(sk);
+ sk_stop_timer(sk, &tp->retransmit_timer);
tp->ack.pending = 0;
tp->ack.blocked = 0;
tp->ack.pending = 0;
tp->ack.blocked = 0;
- if (timer_pending(&tp->delack_timer) &&
- del_timer(&tp->delack_timer))
- __sock_put(sk);
+ sk_stop_timer(sk, &tp->delack_timer);
- if (timer_pending(&sk->sk_timer) && del_timer(&sk->sk_timer))
- __sock_put(sk);
+ sk_stop_timer(sk, &sk->sk_timer);
}
static void tcp_write_err(struct sock *sk)
}
static void tcp_write_err(struct sock *sk)
@@
-88,7
+83,7
@@
static void tcp_write_err(struct sock *sk)
sk->sk_error_report(sk);
tcp_done(sk);
sk->sk_error_report(sk);
tcp_done(sk);
- NET_INC_STATS_BH(
TCPAbortOnTimeout
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPABORTONTIMEOUT
);
}
/* Do not allow orphaned sockets to eat all our resources.
}
/* Do not allow orphaned sockets to eat all our resources.
@@
-131,7
+126,7
@@
static int tcp_out_of_resources(struct sock *sk, int do_reset)
if (do_reset)
tcp_send_active_reset(sk, GFP_ATOMIC);
tcp_done(sk);
if (do_reset)
tcp_send_active_reset(sk, GFP_ATOMIC);
tcp_done(sk);
- NET_INC_STATS_BH(
TCPAbortOnMemory
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPABORTONMEMORY
);
return 1;
}
return 0;
return 1;
}
return 0;
@@
-217,20
+212,18
@@
static void tcp_delack_timer(unsigned long data)
if (sock_owned_by_user(sk)) {
/* Try again later. */
tp->ack.blocked = 1;
if (sock_owned_by_user(sk)) {
/* Try again later. */
tp->ack.blocked = 1;
- NET_INC_STATS_BH(DelayedACKLocked);
- if (!mod_timer(&tp->delack_timer, jiffies + TCP_DELACK_MIN))
- sock_hold(sk);
+ NET_INC_STATS_BH(LINUX_MIB_DELAYEDACKLOCKED);
+ sk_reset_timer(sk, &tp->delack_timer, jiffies + TCP_DELACK_MIN);
goto out_unlock;
}
goto out_unlock;
}
-
tcp
_mem_reclaim(sk);
+
sk_stream
_mem_reclaim(sk);
if (sk->sk_state == TCP_CLOSE || !(tp->ack.pending & TCP_ACK_TIMER))
goto out;
if (time_after(tp->ack.timeout, jiffies)) {
if (sk->sk_state == TCP_CLOSE || !(tp->ack.pending & TCP_ACK_TIMER))
goto out;
if (time_after(tp->ack.timeout, jiffies)) {
- if (!mod_timer(&tp->delack_timer, tp->ack.timeout))
- sock_hold(sk);
+ sk_reset_timer(sk, &tp->delack_timer, tp->ack.timeout);
goto out;
}
tp->ack.pending &= ~TCP_ACK_TIMER;
goto out;
}
tp->ack.pending &= ~TCP_ACK_TIMER;
@@
-238,8
+231,8
@@
static void tcp_delack_timer(unsigned long data)
if (skb_queue_len(&tp->ucopy.prequeue)) {
struct sk_buff *skb;
if (skb_queue_len(&tp->ucopy.prequeue)) {
struct sk_buff *skb;
- NET_ADD_STATS_BH(
TCPSchedulerFailed,
-
skb_queue_len(&tp->ucopy.prequeue));
+ NET_ADD_STATS_BH(
LINUX_MIB_TCPSCHEDULERFAILED,
+ skb_queue_len(&tp->ucopy.prequeue));
while ((skb = __skb_dequeue(&tp->ucopy.prequeue)) != NULL)
sk->sk_backlog_rcv(sk, skb);
while ((skb = __skb_dequeue(&tp->ucopy.prequeue)) != NULL)
sk->sk_backlog_rcv(sk, skb);
@@
-259,13
+252,13
@@
static void tcp_delack_timer(unsigned long data)
tp->ack.ato = TCP_ATO_MIN;
}
tcp_send_ack(sk);
tp->ack.ato = TCP_ATO_MIN;
}
tcp_send_ack(sk);
- NET_INC_STATS_BH(
DelayedACKs
);
+ NET_INC_STATS_BH(
LINUX_MIB_DELAYEDACKS
);
}
TCP_CHECK_TIMER(sk);
out:
if (tcp_memory_pressure)
}
TCP_CHECK_TIMER(sk);
out:
if (tcp_memory_pressure)
-
tcp
_mem_reclaim(sk);
+
sk_stream
_mem_reclaim(sk);
out_unlock:
bh_unlock_sock(sk);
sock_put(sk);
out_unlock:
bh_unlock_sock(sk);
sock_put(sk);
@@
-276,7
+269,7
@@
static void tcp_probe_timer(struct sock *sk)
struct tcp_opt *tp = tcp_sk(sk);
int max_probes;
struct tcp_opt *tp = tcp_sk(sk);
int max_probes;
- if (tp->packets_out || !
tp->
send_head) {
+ if (tp->packets_out || !
sk->sk_
send_head) {
tp->probes_out = 0;
return;
}
tp->probes_out = 0;
return;
}
@@
-360,19
+353,19
@@
static void tcp_retransmit_timer(struct sock *sk)
if (tp->ca_state == TCP_CA_Disorder || tp->ca_state == TCP_CA_Recovery) {
if (tp->sack_ok) {
if (tp->ca_state == TCP_CA_Recovery)
if (tp->ca_state == TCP_CA_Disorder || tp->ca_state == TCP_CA_Recovery) {
if (tp->sack_ok) {
if (tp->ca_state == TCP_CA_Recovery)
- NET_INC_STATS_BH(
TCPSackRecoveryFail
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPSACKRECOVERYFAIL
);
else
else
- NET_INC_STATS_BH(
TCPSackFailures
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPSACKFAILURES
);
} else {
if (tp->ca_state == TCP_CA_Recovery)
} else {
if (tp->ca_state == TCP_CA_Recovery)
- NET_INC_STATS_BH(
TCPRenoRecoveryFail
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPRENORECOVERYFAIL
);
else
else
- NET_INC_STATS_BH(
TCPRenoFailures
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPRENOFAILURES
);
}
} else if (tp->ca_state == TCP_CA_Loss) {
}
} else if (tp->ca_state == TCP_CA_Loss) {
- NET_INC_STATS_BH(
TCPLossFailures
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPLOSSFAILURES
);
} else {
} else {
- NET_INC_STATS_BH(
TCPTimeouts
);
+ NET_INC_STATS_BH(
LINUX_MIB_TCPTIMEOUTS
);
}
}
}
}
@@
-429,8
+422,7
@@
static void tcp_write_timer(unsigned long data)
bh_lock_sock(sk);
if (sock_owned_by_user(sk)) {
/* Try again later */
bh_lock_sock(sk);
if (sock_owned_by_user(sk)) {
/* Try again later */
- if (!mod_timer(&tp->retransmit_timer, jiffies + (HZ/20)))
- sock_hold(sk);
+ sk_reset_timer(sk, &tp->retransmit_timer, jiffies + (HZ / 20));
goto out_unlock;
}
goto out_unlock;
}
@@
-438,8
+430,7
@@
static void tcp_write_timer(unsigned long data)
goto out;
if (time_after(tp->timeout, jiffies)) {
goto out;
if (time_after(tp->timeout, jiffies)) {
- if (!mod_timer(&tp->retransmit_timer, tp->timeout))
- sock_hold(sk);
+ sk_reset_timer(sk, &tp->retransmit_timer, tp->timeout);
goto out;
}
goto out;
}
@@
-457,7
+448,7
@@
static void tcp_write_timer(unsigned long data)
TCP_CHECK_TIMER(sk);
out:
TCP_CHECK_TIMER(sk);
out:
-
tcp
_mem_reclaim(sk);
+
sk_stream
_mem_reclaim(sk);
out_unlock:
bh_unlock_sock(sk);
sock_put(sk);
out_unlock:
bh_unlock_sock(sk);
sock_put(sk);
@@
-557,14
+548,12
@@
static void tcp_synack_timer(struct sock *sk)
void tcp_delete_keepalive_timer (struct sock *sk)
{
void tcp_delete_keepalive_timer (struct sock *sk)
{
- if (timer_pending(&sk->sk_timer) && del_timer (&sk->sk_timer))
- __sock_put(sk);
+ sk_stop_timer(sk, &sk->sk_timer);
}
void tcp_reset_keepalive_timer (struct sock *sk, unsigned long len)
{
}
void tcp_reset_keepalive_timer (struct sock *sk, unsigned long len)
{
- if (!mod_timer(&sk->sk_timer, jiffies + len))
- sock_hold(sk);
+ sk_reset_timer(sk, &sk->sk_timer, jiffies + len);
}
void tcp_set_keepalive(struct sock *sk, int val)
}
void tcp_set_keepalive(struct sock *sk, int val)
@@
-617,7
+606,7
@@
static void tcp_keepalive_timer (unsigned long data)
elapsed = keepalive_time_when(tp);
/* It is alive without keepalive 8) */
elapsed = keepalive_time_when(tp);
/* It is alive without keepalive 8) */
- if (tp->packets_out ||
tp->
send_head)
+ if (tp->packets_out ||
sk->sk_
send_head)
goto resched;
elapsed = tcp_time_stamp - tp->rcv_tstamp;
goto resched;
elapsed = tcp_time_stamp - tp->rcv_tstamp;
@@
-644,7
+633,7
@@
static void tcp_keepalive_timer (unsigned long data)
}
TCP_CHECK_TIMER(sk);
}
TCP_CHECK_TIMER(sk);
-
tcp
_mem_reclaim(sk);
+
sk_stream
_mem_reclaim(sk);
resched:
tcp_reset_keepalive_timer (sk, elapsed);
resched:
tcp_reset_keepalive_timer (sk, elapsed);