linuxのメモ

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

2016-03-25から1日間の記事一覧

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

概要 プリエンプションを有効にする 詳細 barrier()を実行するがCONFIG_PREEMPT_COUNTが有効な場合は__preempt_count_dec()で__preempt_countをインクリメントし、プリエンプションを有効にする この時、複数のプリエンプションが実行されている場合は__pree…

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

概要 実行待ちプロセスカウンターをデクリメントする 詳細 __preempt_count_sub()に1を渡して実行する

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

概要 実行待ちプロセスカウンターから任意の値を減算する 詳細 raw_cpu_add_4()で__preempt_countに引数で受け取った値のマイナス値を加算する

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

概要 プリエンプションを無効にする 詳細 barrier()を実行するがCONFIG_PREEMPT_COUNTが有効な場合は__preempt_count_inc()で__preempt_countをインクリメントし、プリエンプションを無効にする

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

概要 実行待ちプロセスカウンターをインクリメントする 詳細 __preempt_count_add()に1を渡して実行する

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

概要 実行待ちプロセスカウンターに任意の値を加算する 詳細 raw_cpu_add_4()で__preempt_countに引数で受け取った値を加算する

CPU操作 - raw_cpu_add_x()

cpu

概要 指定されたシンボルの値に任意の値を加算する 詳細 以下のいずれかのマクロを表し、いずれの場合においてもpercpu_add_op()マクロに受け取ったシンボルへのポインタと、加算する値を引数として渡して実行する raw_cpu_add_1() raw_cpu_add_2() raw_cpu_…

CPU操作 - percpu_add_op()

cpu

概要 CPU固有の指定されたシンボルの値に任意の値を加算する 詳細 このマクロでは以下の引数を取得する 対象の値が保存されているポインタを示す : var 対象に加算する値を示す : val valの値によって実行されるアセンブラ命令の種類が以下のように変わりま…