*参照元 [#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]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS