优化 – 在linux内核中使用可能/不太可能的返回参数

只是在 linux内核中看到这个结构,我无法得到它的含义.
110         return unlikely(sl->sequence != start);

我知道可能/不太可能使用此处描述的__builtin_expect函数:
http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

You may use __builtin_expect to provide the compiler with branch prediction information.

但是对于无条件分支,哪种分支预测提示是可能的?

解决方法

只是在这里猜测,但想象一下编译器内联函数,你在调用代码中有这个:
if (functionUsingUnlikelyForReturn()) {
   // Do something
} else {
   // Do something different
}

那么分支预测要注意提示是完全合理的.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...