*参照元 [#o124054c] #backlinks *説明 [#zb82e1fa] -パス: [[linux-2.6.33/include/linux/smp_lock.h]] -BKL(Big Kernel Lock)を取得する。 --BKL はネスト可能である。 **引数 [#gc95358e] -なし **返り値 [#ge356d47] -なし **参考 [#f7e8a799] -BKL 関連の関数 --[[linux-2.6.33/kernel_locked()]] --[[linux-2.6.33/lock_kernel()]] --[[linux-2.6.33/unlock_kernel()]] *実装 [#ed598c1e] **BKL(Big Kernel Lock)有効の場合 [#t87ae910] #ifdef CONFIG_LOCK_KERNEL -BKL 有効の場合 --[[linux-2.6.33/CONFIG_LOCK_KERNEL]] (略) #define lock_kernel() do { \ _lock_kernel(__func__, __FILE__, __LINE__); \ -BKL のロック関数を呼び出した、関数名、ソースファイル名、行数を、 BKL のロック関数に渡す。 BKL のロック関数の本体(_lock_kernel() 関数)に渡す。 --[[linux-2.6.33/_lock_kernel()]] } while (0) **BKL(Big Kernel Lock)無効の場合 [#ha82ce29] #else -BKL 無効の場合 (略) #define lock_kernel() -何もしない。 #endif /* CONFIG_LOCK_KERNEL */ *コメント [#d9ea4f74]