内核中static_key_false()函数的作用是什么呢?
内核中static_key_false()函数的作用是什么呢? 请大侠指教如
static inline bool kvm_vcpu_has_lapic(struct kvm_vcpu *vcpu)
{
if (static_key_false(&kvm_no_apic_vcpu))
return vcpu->arch.apic;
return true;
} 本帖最后由 nswcfd 于 2015-06-25 21:23 编辑
利用static_key加上gcc的jump label扩展,可以条件分支从一个branch语句,优化为一个nop,避免不必要的pipeline stall。
当key条件发生修改的时候,需要动态的修改代码段。
http://lwn.net/Articles/487426/
可以关注一下两段汇编代码的差异。 谢谢,学习了
页:
[1]