⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000039.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;lightofstar&nbsp;(star),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;看过源码的高手解释一下?&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Wed&nbsp;Dec&nbsp;13&nbsp;23:08:33&nbsp;2000)&nbsp;<BR>&nbsp;<BR>void&nbsp;kfree_skbmem(struct&nbsp;sk_buff&nbsp;*skb)&nbsp;<BR>{&nbsp;<BR>&nbsp;if&nbsp;(!skb-&gt;cloned&nbsp;||&nbsp;atomic_dec_and_test(skb_datarefp(skb)))&nbsp;<BR>&nbsp;&nbsp;kfree(skb-&gt;head);&nbsp;<BR>&nbsp;kmem_cache_free(skbuff_head_cache,&nbsp;skb);&nbsp;<BR>&nbsp;atomic_dec(&amp;net_skbcount);&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>extern&nbsp;__inline__&nbsp;atomic_t&nbsp;*skb_datarefp(struct&nbsp;sk_buff&nbsp;*skb)&nbsp;<BR>{&nbsp;<BR>&nbsp;return&nbsp;(atomic_t&nbsp;*)(skb-&gt;end);&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>第一个函数调用了第二个函数,那么假如skb_cloned&nbsp;==&nbsp;1时,&nbsp;<BR>什么时候才能执行&nbsp;kfree(skb-&gt;head)??&nbsp;<BR>&nbsp;<BR>skb_end本身指的是数据部分的结尾,分配sk_buff时是个定值。&nbsp;<BR>调用atomic_dec_and_test处理它,能够减少数据部分的引用次数吗?&nbsp;<BR>&nbsp;<BR>当数据部分被两个sk_buff共享时,什么时候才是真正的释放了数据区?&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;210.25.133.3]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -