<br><br>On Thursday, March 9, 2017, Shiyao Ma &lt;<a href="mailto:i@introo.me">i@introo.me</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>The related settings are, </div><div><br></div><div><div>sudo sysctl -w net.core.rmem_max=2147483647</div><div>sudo sysctl -w net.core.wmem_max=2147483647</div><div><br></div><div>sudo sysctl -w net.ipv4.tcp_rmem=&quot;10240 8738000 2147483647&quot;</div><div>sudo sysctl -w net.ipv4.tcp_wmem=&quot;10240 8738000 2147483647&quot;</div><div><br></div><div>sudo sysctl -w net.ipv4.tcp_limit_output_<wbr>bytes=2147483647</div><div><br></div><div>They are insanely big.</div><div><br></div></div></div></blockquote><div><br></div><div>How big are the data you send during single call of send() ?</div><div><br></div><div>Also, what parameters do you use in send () ?</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><br></div><div>However, when executing `send&#39; for a large buffer, it still blocks.</div><div><br></div><div>I thought L4 (tcp) will accept that large buffer as long as it can copy those buffer into kernel. </div><div>Turns out not.</div><div><br></div><div>What could be the possible reason?</div><div>Does the TCP check the `cwnd&#39; setting or so even in the step of copying buffer from userspace to kernel?  I didn&#39;t find the related code, though.</div><div><br></div><div><br></div><div>Regards.</div><div><br></div><div><br></div></div></div>
</blockquote><br><br>-- <br>regards,<br><br>Mulyadi Santosa<br>Freelance Linux trainer and consultant<br><br>blog: <a href="http://the-hydra.blogspot.com">the-hydra.blogspot.com</a><br>training: <a href="http://mulyaditraining.blogspot.com">mulyaditraining.blogspot.com</a><br>