Chinaunix首页 | 论坛 | 博客
  • 博客访问: 155865
  • 博文数量: 41
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-14 10:16
文章分类
文章存档

2011年(1)

2010年(5)

2009年(35)

我的朋友

分类: LINUX

2009-10-26 15:00:22

 

内核版本:Linux2.6.30.4 作者:978计划工作组 时间:2009-10-26

1函数源码

void tcp_enter_memory_pressure(struct sock *sk)

{

       if (!tcp_memory_pressure) {

              NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPMEMORYPRESSURES);

              tcp_memory_pressure = 1;

       }

}

2函数用途

设置接收缓冲区压力过大标志,对SNMP信息进行统计。

3调用关系

4语句注释

4.1 if (!tcp_memory_pressure) {

             tcp_memory_pressure = 1;

tcp_memory_pressure接收缓冲区压力过大标志,当值为0时表示压力不大可正常接收数据,为1表示压力过大需做相应处理。

4.2 NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPMEMORYPRESSURES);

NET_INC_STATS (net, field):宏函数,宏值为SNMP_INC_STATS((net)->mib.net_statistics, field),实现了SNMP信息的统计

sock_net:此函数返回struct net结构体指针

LINUX_MIB_TCPMEMORYPRESSURES枚举类型,是SNMP统计类型(TCP接收缓冲区过大)的一种。

 

 

阅读(1407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~