1、sk->sk_write_pending怎么可能会有不为0的可能呢?
2、rskq_defer_accept这个设置通常是在TCP服务端通过setsocketopt进行设置,那么怎会出现在这里的客户端代码中呢?
3、pingpong模式可以在客户端和服务器端通过setsocketopt进行设置,这个似乎还好理解
感谢斑竹的解答,但是我没有明白我的第2个问题斑竹是如何解答的,斑竹说的是:关于第二个,存在client端先bind,然后再connect的情况。已经在本地通过systemtap验证,我没有明白这个解释如何就解释了rskq_defer_accept在客户端被设置的场景?
哦。斑竹说的这个方式的设置我能理解,我不能理解的是对于TCP客户端,这样设置有何作用,或者说什么样的应用场景才需要这样?
而对于TCP服务端,这样设置defer模式的好处是显而易见的。关键就是客户端为啥这样做
tcp_incr_quickack(sk);
tcp_enter_quickack_mode(sk);
。。。
上面两句红色代码实际是重叠的,即在tcp_enter_quickack_mode这个函数中又会再次执行一遍 tcp_incr_quickack,为啥不直接略掉tcp_incr_quickack,而直接执行后者不就可以了吗,作者为啥偏偏这样写?
版主 问个问题:)
这个systemtap脚本 必须32位吗?
我先在 内核版本 3.10
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |