linuxのメモ

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

プリエンプション - preempt_trace()

概要

実行待ちプロセスが存在するか確認する

詳細

CONFIG_PREEMPT_TRACER の値によって以下のように処理が異なる

  • 有効
    • trace_typeの値にTRACER_PREEMPT_OFFのbitが立っており、かつpreempt_count()

を実行し実行待ちプロセス数を確認し、実行待ちプロセス数が1以上の場合は1を返すがそれ以外の場合は0を返す

  • 無効
    • 常に0を返す