发布时间:2014-12-01 18:06:11
在 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别? 首先要明确: if(likely(value)) 等价于 if(value)  .........【阅读全文】
发布时间:2014-12-01 17:34:10
前言:以下是根据《深入理解Linux网络技术内幕》对sk_buff的相关总结,由于是刚刚看这本书(太厚了),不免在前期出现错误,随着对此书的深入我会在修改前面的错误,也希望各位牛人给予指点。帮助我成长。sk_buff分析:sk_buff是Linux网络代码中最重要的结构体之一。它是Linux在其协议栈里传送的结构体,也就.........【阅读全文】
发布时间:2014-12-01 10:44:53
__read_mostly原语将定义为存放在.data.read_mostly段中 include/asm/cache.h#define __read_mostly __attribute__((__section__(".data.read_mostly"))) 由此可见,我们可以将经常需要被读取的数据定义为 __read_mostly类型, 这样Linux内核被加载时,该数据将自动被存放到Cache中,以.........【阅读全文】