Patchwork tcp: Increment of LINUX_MIB_LISTENOVERFLOWS in tcp_v4_conn_request()

login
register
mail settings
Submitter Nivedita Singhvi
Date Jan. 25, 2013, 7:03 a.m.
Message ID <1359097408-9786-1-git-send-email-niv@us.ibm.com>
Download mbox | patch
Permalink /patch/215563/
State Changes Requested
Delegated to: David Miller
Headers show

Comments

Nivedita Singhvi - Jan. 25, 2013, 7:03 a.m.
We drop a connection request if the accept backlog, syn queue are full when processing reaches tcp_v4_conn_request(). Increment the appropriate counter so this isn't silent, for accurate stats and help in debugging.

Signed-off-by: Nivedita Singhvi <niv@us.ibm.com>
---
 net/ipv4/tcp_ipv4.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Vijay Subramanian - Jan. 25, 2013, 7:29 a.m.
On 24 January 2013 23:03, Nivedita Singhvi <niveditasinghvi@gmail.com> wrote:
> We drop a connection request if the accept backlog, syn queue are full when processing reaches tcp_v4_conn_request(). Increment the appropriate counter so this isn't silent, for accurate stats and help in debugging.
>

Commit message seems misleading. syn queue is not really full at this
point. It just has more than enough entries.

Thanks,
Vijay
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Nivedita Singhvi - Jan. 25, 2013, 7:41 a.m.
On 01/24/2013 11:29 PM, Vijay Subramanian wrote:
> On 24 January 2013 23:03, Nivedita Singhvi <niveditasinghvi@gmail.com> wrote:
>> We drop a connection request if the accept backlog, syn queue are full when processing reaches tcp_v4_conn_request(). Increment the appropriate counter so this isn't silent, for accurate stats and help in debugging.
>>
> 
> Commit message seems misleading. syn queue is not really full at this
> point. It just has more than enough entries.

Er, good point. I should have said "sufficiently full" or "warm 
enough to warrant starting drops" - hope I'm not confusing 
things further, am I? DaveM, would you like me to resend, if you're 
picking this up? 


thanks,
Nivedita


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 27, 2013, 6:41 a.m.
From: Nivedita Singhvi <niveditasinghvi@gmail.com>
Date: Thu, 24 Jan 2013 23:03:28 -0800

> We drop a connection request if the accept backlog, syn queue are full when processing reaches tcp_v4_conn_request(). Increment the appropriate counter so this isn't silent, for accurate stats and help in debugging.
> 
> Signed-off-by: Nivedita Singhvi <niv@us.ibm.com>

Please resend with the commit message changes suggested to you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index bbbdcc5..49b4f50 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1502,8 +1502,10 @@  int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb)
 	 * clogging syn queue with openreqs with exponentially increasing
 	 * timeout.
 	 */
-	if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1)
+	if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1) {
+		NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENOVERFLOWS);
 		goto drop;
+	}
 
 	req = inet_reqsk_alloc(&tcp_request_sock_ops);
 	if (!req)