linuxのメモ

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

local

ローカルオブジェクト - local_read()

概要 local_t型の変数の値を読み込む 詳細 local_t型の変数を引数として受け取り、atomic_long_read()でlong_t型のaメンバを渡して実行する

ローカルオブジェクト - local_sub()

概要 local_t型の値に任意の値を減算する 詳細 _ASM_SUBで引数として受け取ったlocal_t型の値と任意の値を減算するアセンブラ命令を実行する

ローカルオブジェクト - local_add_return()

概要 local_t型の値に任意の値を加算し、結果を取得する 詳細 _ASM_XADDで引数として受け取ったlocal_t型の値と任意の値を交換して加算するアセンブラ命令を実行する 任意の値は関数内のローカル変数に保持し、引数として受け取った任意の値は交換加算命令に…

ローカルオブジェクト - local_add()

概要 local_t型の値に任意の値を加算する 詳細 _ASM_ADDで引数として受け取ったlocal_t型の値と任意の値を加算するアセンブラ命令を実行する

ローカルオブジェクト - local_inc()

概要 local_t型の値をインクリメントする 詳細 _ASM_INCで引数として受け取ったlocal_t型の値をインクリメントするアセンブラ命令を実行する

ローカルオブジェクト - local_dec()

概要 local_t型の値をデクリメントする 詳細 _ASM_DECで引数として受け取ったlocal_t型の値をデクリメントするアセンブラ命令を実行する