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;
out:
if (tcp_memory_pressure)
- tcp_mem_reclaim(sk);
+ sk_stream_mem_reclaim(sk);
out_unlock:
bh_unlock_sock(sk);
sock_put(sk);
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;
}
TCP_CHECK_TIMER(sk);
out:
- tcp_mem_reclaim(sk);
+ sk_stream_mem_reclaim(sk);
out_unlock:
bh_unlock_sock(sk);
sock_put(sk);
* ones are about to clog our table.
*/
if (lopt->qlen>>(lopt->max_qlen_log-1)) {
+#ifdef CONFIG_ACCEPT_QUEUES
+ int young = 0;
+
+ for(i=0; i < NUM_ACCEPT_QUEUES; i++)
+ young += lopt->qlen_young[i];
+
+ young <<= 1;
+#else
int young = (lopt->qlen_young<<1);
+#endif
while (thresh > 2) {
if (lopt->qlen < young)
unsigned long timeo;
if (req->retrans++ == 0)
- lopt->qlen_young--;
- timeo = min((TCP_TIMEOUT_INIT << req->retrans),
- TCP_RTO_MAX);
+#ifdef CONFIG_ACCEPT_QUEUES
+ lopt->qlen_young[req->acceptq_class]--;
+#else
+ lopt->qlen_young--;
+#endif
+ timeo = min((TCP_TIMEOUT_INIT << req->retrans), TCP_RTO_MAX);
req->expires = now + timeo;
reqp = &req->dl_next;
continue;
write_unlock(&tp->syn_wait_lock);
lopt->qlen--;
if (req->retrans == 0)
- lopt->qlen_young--;
+#ifdef CONFIG_ACCEPT_QUEUES
+ lopt->qlen_young[req->acceptq_class]--;
+#else
+ lopt->qlen_young--;
+#endif
tcp_openreq_free(req);
continue;
}
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;
}
TCP_CHECK_TIMER(sk);
- tcp_mem_reclaim(sk);
+ sk_stream_mem_reclaim(sk);
resched:
tcp_reset_keepalive_timer (sk, elapsed);