linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

ユーティリティー - static_key_enabled()

概要

struct static_key型とその類似の型の変数の値を取得する

詳細

__builtin_types_compatible_p()で引数として取得した値の型を比較し、以下の型のいずれとも一致しない場合は____wrong_branch_error()を実行し、いずれかと一致した場合はstatic_key_count()enabledメンバの値を読み込み、その値が0だった場合に0を、1以上の場合に1を返す

  • struct static_key
  • struct static_key_true
  • struct static_key_false