why `send(2)' blocks even though I've turned up the related sock settings?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The related settings are, 

sudo sysctl -w net.core.rmem_max=2147483647
sudo sysctl -w net.core.wmem_max=2147483647

sudo sysctl -w net.ipv4.tcp_rmem="10240 8738000 2147483647"
sudo sysctl -w net.ipv4.tcp_wmem="10240 8738000 2147483647"

sudo sysctl -w net.ipv4.tcp_limit_output_bytes=2147483647

They are insanely big.


However, when executing `send' for a large buffer, it still blocks.

I thought L4 (tcp) will accept that large buffer as long as it can copy those buffer into kernel. 
Turns out not.

What could be the possible reason?
Does the TCP check the `cwnd' setting or so even in the step of copying buffer from userspace to kernel?  I didn't find the related code, though.


Regards.


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux