linuxのメモ

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

2016-04-07から1日間の記事一覧

ログ出力 - debug_locks_off()

log

概要 ログ出力のロックを解除し、ログレベルを最大値に設定する 詳細 __debug_locks_off()でロックを解除し、debug_locks_silentの値を確認する ロックが解除済みだった場合、もしくはdebug_locks_silentに有効な値が入っていなければ0を返して終了する それ…

ログ出力 - console_verbose()

log

概要 ログ出力レベルを最大値に設定する 詳細 console_loglevelの値がCONSOLE_LOGLEVEL_SILENTでなければ、console_loglevelの値をCONSOLE_LOGLEVEL_MOTORMOUTHに設定する

ログ出力 - console_printk

log

概要 ログの出力レベルを保持する変数 詳細 要素数が4つのint型の配列で、それぞれの要素が特定のログレベルを保持する 0 : console_loglevelの値を保持し、CONSOLE_LOGLEVEL_DEFAULTで初期化される 1 : default_message_loglevelの値を保持し、MESSAGE_LOGL…

ログ出力 - debug_locks_silent

log

概要 ログ出力のロック状態を示す変数 詳細 初期化は行われず、EXPORT_SYMBOL_GPL()によりモジュールからアクセス可能な値となる

ログ出力 - __debug_locks_off()

log

概要 ログ出力のロック状態をoffにする 詳細 xchg()にdebug_locksと0を渡して実行することで、debug_locksに0を設定し、既存の値を返す

ログ出力 - debug_locks

log

概要 ログ出力のロック状態を示す変数 詳細 数値の1で初期化され、EXPORT_SYMBOL_GPL()によりモジュールからアクセス可能な値となる

atomic命令 - xchg()

概要 2つの値を入れ替える 詳細 __xchg_op()に入れ替える2つの値へのポインタと実行命令としてxchgを引数として渡して2つの値を入れ替える 尚、xchg命令ではLOCKプリフィックスの有無に関わらずatomicに実行されるため、lockには空文字を渡す

atomic命令 - __xchg_op()

概要 2つの値を入れ替える 詳細 以下の値を引数として持つ 保存先の値へのポインタ : ptr 保存する値へのポインタ : arg 実行する命令の種類を示す : op この値にはxchgかxaddのいずれかの値をとり、xaddの場合はptrとargの合計値をptrに保存する atomicに操…