《TCP/IP详解 卷2:实现》 —2.5.4 mbuf锁

举报
华章计算机 发表于 2019/11/20 16:26:28 2019/11/20
【摘要】 本节书摘来自华章计算机《TCP/IP详解 卷2:实现》一书中第2章,第2.5.4节,作者是[美]加里R.赖特(Gary R.Wright),W. 理查德史蒂文斯(W.Richard Stevens),陆雪莹 蒋慧 等译 谢希仁 校。

2.5.4   mbuf锁

在本节中我们所讨论的函数和宏并不调用spl函数,而是调用图2-12中的MBUFLOCK来保护这些函数和宏不被中断。但在宏MALLOC的开始有一个splimp,结尾有一个splx。宏MFREE中包含同样的保护机制。由于mbuf在内核的所有层中被分配和释放,因此内核必须保护那些用于存储器分配的数据结构。

另外,用于分配和释放mbuf簇的宏MCLALLOC与MCLFREE要用一个splimp和一个splx包括起来,因为它们修改的是一个可用簇链。

因为存储器分配与释放及簇分配与释放的宏被保护起来防止被中断,我们通常在MGET和m_get这样的函数和宏的前后不再调用spl函数。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。