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

📄 00000043.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;menschen&nbsp;(阿中),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;看过源码的高手解释一下?&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Thu&nbsp;Dec&nbsp;14&nbsp;19:02:23&nbsp;2000)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;很久以前看过,现在印象不深了。大致说一下吧。&nbsp;<BR>&nbsp;&nbsp;skb-&gt;end是个指针,指向数据的末端,我觉得这里是一个&nbsp;<BR>&nbsp;&nbsp;skb实际数据的引用计数,每clone一次,该计数加1。&nbsp;<BR>&nbsp;&nbsp;数据区释放的条件是,或者skb没有被clone,或者clone了,&nbsp;<BR>&nbsp;&nbsp;引用计数为0,这段代码讲得就是这个意思。&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;lightofstar&nbsp;(star)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;void&nbsp;kfree_skbmem(struct&nbsp;sk_buff&nbsp;*skb)&nbsp;</I><BR>∶<I>&nbsp;{&nbsp;</I><BR>∶<I>&nbsp;&nbsp;if&nbsp;(!skb-&gt;cloned&nbsp;||&nbsp;atomic_dec_and_test(skb_datarefp(skb)))&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;kfree(skb-&gt;head);&nbsp;</I><BR>∶<I>&nbsp;&nbsp;kmem_cache_free(skbuff_head_cache,&nbsp;skb);&nbsp;</I><BR>∶<I>&nbsp;&nbsp;atomic_dec(&amp;net_skbcount);&nbsp;</I><BR>∶<I>&nbsp;}&nbsp;</I><BR>∶<I>&nbsp;extern&nbsp;__inline__&nbsp;atomic_t&nbsp;*skb_datarefp(struct&nbsp;sk_buff&nbsp;*skb)&nbsp;</I><BR>∶<I>&nbsp;{&nbsp;</I><BR>∶<I>&nbsp;&nbsp;return&nbsp;(atomic_t&nbsp;*)(skb-&gt;end);&nbsp;</I><BR>∶<I>&nbsp;}&nbsp;</I><BR>∶<I>&nbsp;...................&nbsp;</I><BR>&nbsp;<BR>--&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;输了你,赢了世界又如何?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.152.15]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

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