cpumask の検索結果:
概要 CPUのビットマップから任意のCPU番号の状態を取得する 詳細 以下の引数を受け取る CPU番号を示す : cpu CPUのビットマップを保持するstruct cpumask型のポインタ : cpumask cpumask_check()でcpuの値がCPU数の範囲内であることを確認し、cpumask_bits()でcpumaskからビットマップを取得し、これらの値をtest_bit()に渡すことで任意のCPU番号のビットマップの状態を取得する
概要 CPU番号がCPU数の範囲内であることを確認し、指定したCPU番号を返す 詳細 CONFIG_DEBUG_PER_CPU_MAPSが無効な場合は特に何も処理を行わないが、有効な場合はWARN_ON_ONCE()で引数で受け取ったCPU番号とnr_cpumask_bitsの値を比較し、CPU番号がCPU数の範囲内であることと確認する。
…持する変数を初期化する 詳細 CONFIG_SMPが無効な場合は何も行わないが、有効な場合はcpumask_bits()にcpu_possible_maskを渡すことで、実行可能なCPUのビットマップを取得し、その値とNR_CPUSをfind_last_bit()に渡すことでビットマップ内でビットが1になっている最も大きな位置を取得する この値は0から始まる値となるので、この値に1を加算することで有効なCPU数をnr_cpu_idsに保存し、CPU数を保持する変数を初期化する
概要 実行可能なCPU番号に必要なビットマップを保持するstruct cpumask型の変数 詳細 CONFIG_INIT_ALL_POSSIBLEが無効な場合は初期化されない(つまり0になる)が、有効な場合はCPU_BITS_ALLで初期化されるstruct cpumask型の変数で、EXPORT_SYMBOL()によりモジュールからアクセス可能な値となる
概要 CPUのビットマップを比較する 詳細 この関数ではCPUのビットマップを示すstruct cpumask構造体へのポインタ2つ(比較元と比較先)を受け取る cpumask_bits()で受け取った2つの値のbits要素(配列)を取得し、この値とnr_cpumask_bitsをbitmap_equal()に渡して二つのビットマップを適切なbit数だけ比較する
概要 CPUのビットマスクに必要なbit数を定義する定数 詳細 CONFIG_CPUMASK_OFFSTACKの値によって以下のように異なる 有効 nr_cpu_idsの値 無効 NR_CPUSが示すCPU数
概要 struct cpumask構造体のbits要素の値を返す 詳細 struct cpumask構造体へのポインタを引数として受け取り、bitsメンバの値を返す bitsメンバはDECLARE_BITMAP()にbitsとNR_CPUSを渡して宣言されるため、コンパイル時に実際の大きさが決定される
概要 指定したCPUのマスクを表すstruct cpumask構造体のポインタを取得する 詳細 get_cpu_mask()のwrapperマクロ
概要 指定したCPUのマスクを表すstruct cpumask構造体のポインタを取得する 詳細 CPU番号を示すcpuを引数として取得し、cpu_bit_bitmapから[1 + cpu][0]のアドレスを[cpu / BITS_PER_LONG]番目の要素とするアドレスをを取得し、to_cpumask()でstruct cpumask構造体に変換する
…スクをstruct cpumask構造体へのポインタに変換する 詳細 三項演算子で取得したビットマップか、__check_is_bitmap()の値のいずれかをstruct cpumask構造体のポインタにキャストした値を返す __check_is_bitmap()は常にint型の整数1を返す関数で、何も処理を行わないが実行時に使用されることがないため、コンパイラの最適化で削除されます この関数の目的はマクロでは引数の型チェックが行われないため引数で受け取った値の型がunsi…