sk_stream_moderate_sndbuf(sk); }returnNULL; } 对于sk_stream_alloc_skb函数的使用,发生在TCP发送路径上比如tcp_sendmsg_locked和do_tcp_sendpages发送函数,分片函数tcp_fragment和tso_fragment,以及tcp_mtu_probe、tcp_send_syn_data和tcp_connect函数。sk_stream_alloc_skb函数获取到了相应的缓存额度,紧接其后...
sk_stream_moderate_sndbuf()修改发送缓冲区(在申请内存失败的情况下),修改后的sndbuf小于目前发送队列所占空间,大于SOCK_MIN_SNDBUF。 sk_stream_wait_memory()在申请内存失败的情况下等待发送缓冲区释放空间。 当发送缓冲区填满(或申请不到skb,page,或达到协议内存限额上限)时,若在阻塞条件下,系统会等待内存空闲,...
在通过setsockops设置时,其值最大为sysctl_wmem_max的两倍 */ //发送缓冲区会根据该proto使用的内存情况,进行调整,见__sk_mem_schedule中的sk_stream_moderate_sndbuf 并能通过tcp_rmem调整。 int sk_sndbuf; /* * 发送队列,在TCP中,此队列同时也是重传队列, *在sk_send_head之前为重传队列,之后为发送 * ...
在通过setsockops设置时,其值最大为sysctl_wmem_max的两倍*///发送缓冲区会根据该proto使用的内存情况,进行调整,见__sk_mem_schedule中的sk_stream_moderate_sndbuf 并能通过tcp_rmem调整。intsk_sndbuf;/** 发送队列,在TCP中,此队列同时也是重传队列, *在sk_send_head之前为重传队列,之后为发送 * 队列,参见...