<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Yes, TCP_NODELAY is a socket option:<br>
<br>
Going back to the kernel source:<br>
<br>
include/linux/tcp.h:<br>
<br>
#define TCP_NODELAY 1 /* Turn off Nagle's algorithm. */<br>
<br>
and this:<br>
<br>
u8 nonagle : 4,/* Disable Nagle algorithm? */<br>
<br>
and looking into the kernel source code:<br>
<br>
./fs/ocfs2/cluster/tcp.c:<br>
ret = sock->ops->setsockopt(sock, SOL_TCP, TCP_NODELAY,<br>
<br>
./net/rds/tcp.c:<br>
sock->ops->setsockopt(sock, SOL_TCP, TCP_NODELAY, (char __user *)&val,<br>
the above are just two of the examples of how to set TCP_NODELAY in the kernel.<br>
<br>
At the userspace level:<br>
<br>
<a href="http://www.linuxquestions.org/questions/other-*nix-55/how-do-i-disable-the-nagle-algorithm-in-enterprise-linux-3-kernel-ver-2-4-21-4-a-556170/" target="_blank">http://www.linuxquestions.org/questions/other-*nix-55/how-do-i-disable-the-nagle-algorithm-in-enterprise-linux-3-kernel-ver-2-4-21-4-a-556170/</a><br>
<br>
should be the correct way, except that the poster is attempting to do<br>
it in a kernel that does not support it.<br>
<br>
As documented in <a href="http://linux.die.net/man/7/tcp" target="_blank">http://linux.die.net/man/7/tcp</a>, the supported kernel<br>
is 2.5.71 and onwards.<br><br></blockquote><div><br></div><div> Okay ... so, the situation I have at hand is that there is this app I cannot modify. I'd like to see its performance with nagle disabled. Is this possible?</div>
<div><br></div><div>While at it, is there a way to see the socket options of the socket descriptors in a running app?</div><div><br></div><div>Regards,</div><div>Kashyap</div></div>