Kernel110621: likely和unlikely注记

609阅读 0评论2011-06-21 zcatt
分类:LINUX

Kernel110621: likely和unlikely注记


Email:    zcatt@163.com
Blog    http://zcatt.blog.chinaunix.net
 
声明
仅限学习交流,禁止商业用途。转载需注明出处。

版本记录
Date        Ver        Note
2011-06-21    0.1        Draft.  zcatt, Beijing

likely和unlikely的定义如下, @ compiler.h

# define likely(x)    __builtin_expect(!!(x), 1)
# define unlikely(x)    __builtin_expect(!!(x), 0)

likely(x)和unlikely(x)语义都相当于 !!(x)
__builtin_expect(long exp, long c)也是gcc的内置函数, 语义相当于 (exp).__builtin_expect()的目的是用于gcc的编译优化.
likely(x)告诉编译器!!(x)取1的可能性大些, unlikely(x)告诉编译器!!(x)取0的可能性大些.


Locations of visitors to this page
上一篇:Kernel110621: regparm注记
下一篇:Kernel110905: cpu的4态注记