lkml.org 
[lkml]   [2006]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [TCP]: rcvbuf lock when tcp_moderate_rcvbuf enabled
Hello,

Below, I've forwarded change from 2.6.16 which I think may causes
problems for applications that use setsockopt with SO_RCVBUF. We are
using an implementation of an iSCSI target and according to network
sniffs it seems that during data transfer the receive window
unjustifyingly shrinks to a very low size (180 bytes). I can guess
that the code below indirectly affects the receive window size, but
I'm not sure how it the logic works here, a clarification could be
helpful.

It's worth to mention that we have sysctl_tcp_moderate_rcvbuf=1, but
I don't think it should interfere with applications that request to
have a fixed receive buffer by the means of setsockopt(). I can also
tell by experiment that reverting the change below makes the problem
go away.

--- a97ed5416c28ee14ecab0ac4483c079a0c3e4c1d
+++ e9a54ae7d6903845598db14a8e1cba54026faf1b
@@ -456,7 +456,8 @@ void tcp_rcv_space_adjust(struct sock *s

tp->rcvq_space.space = space;

- if (sysctl_tcp_moderate_rcvbuf) {
+ if (sysctl_tcp_moderate_rcvbuf &&
+ !(sk->sk_userlocks & SOCK_RCVBUF_LOCK)) {
int new_clamp = space;

/* Receive space grows, normalize in order to
--
Dan Aloni
da-x@monatomic.org, da-x@colinux.org, da-x@gmx.net, dan@xiv.co.il
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-03-23 10:06    [W:0.048 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site