2016-04-01から1日間の記事一覧
概要 local_t型の値をインクリメントする 詳細 _ASM_INCで引数として受け取ったlocal_t型の値をインクリメントするアセンブラ命令を実行する
概要 CPUのアーキテクチャに応じたインクリメント命令を生成する 詳細 __ASM_SIZE()にincを渡して実行し、CPUのアーキテクチャに応じたインクリメント命令を生成する
概要 local_t型の値をデクリメントする 詳細 _ASM_DECで引数として受け取ったlocal_t型の値をデクリメントするアセンブラ命令を実行する
概要 CPUのアーキテクチャに応じたデクリメント命令を生成する 詳細 __ASM_SIZE()にdecを渡して実行し、CPUのアーキテクチャに応じたデクリメント命令を生成する
概要 CPUのアーキテクチャに応じて適切なアセンブラ命令を生成する 詳細 アセンブラ命令を示す文字列instを引数として取得するが、可変長引数として複数の引数を取得できる __ASM_SEL()の第一引数にinstとlに可変長引数の値を連結した文字列を、第二引数には…
概要 割込みのロックを開放する 詳細 この関数ではstruct ring_buffer_per_cpu構造体へのポインタを引数として受け取り、current_contextメンバの値valを使用する valの値は低いビットから順に マスク不可割込み ハードウェア割込み ソフトウェア割込み プリ…
概要 マスク不可割込みの状態を取得する 詳細 preempt_count()で実行待ちプロセス数を取得し、NMI_MASKでマスクをかけた値が0でなければ1を、0であれば0を返す
概要 ハードウェア割込みの状態を取得する 詳細 hardirq_count()で現在ハードウェア割り込みによって割込みされているプロセス数を取得し、取得した値が0でなければ1を、0であれば0を返す
概要 ハードウェア割込みで実行待ちになっているプロセス数を取得する 詳細 preempt_count()で実行待ちプロセス数を取得するが、HARDIRQ_MASKでマスクをかけるためハードウェア割込みだけのプロセス数を取得する
概要 割込みの状態を取得する 詳細 irq_count()で現在割込みされているプロセス数を取得し、取得した値が0でなければ1を、0であれば0を返す
概要 全ての種類の割込みで実行待ちになっているプロセス数を取得する 詳細 preempt_count()で実行待ちプロセス数を取得するが、HARDIRQ_MASK・SOFTIRQ_MASK・NMI_MASKでそれぞれハードウェア割込み・ソフトウェア割込み・マスク不可割込みの3種類全てのプロ…