linux-2.6.33/rwlock_t
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#nbade55f]
#backlinks
*説明 [#v6c30ab4]
-パス: [[linux-2.6.33/include/linux/rwlock_types.h]]
-FIXME: これは何?
--説明
**参考 [#n8f27d4e]
-x86 の場合、カッコ内の数値はカウント値の変化
|状態 |異常 | write_lock 中 | read_lock 中 ...
|カウント| < 0 | == 0(read_lock の最大)| < RW_LOCK_BIAS(...
|read_lock() |できない|できない|できる(-1)|できる(...
|write_lock() |できない|できない|できない|できる、-...
|read_unlock() |できる(+1)|できる(+1)|できる(+1)|...
|write_unlock() |できる(+RW_LOCK_BIAS)|できる(+RW_L...
-アンロック時は何もチェックしていないので、
ロックしていないのにアンロックするとロックの状態がおかし...
--FIXME: スピンロックのデバッグ機能を使えば OK??
*実装 [#ba43b9c3]
typedef struct {
arch_rwlock_t raw_lock;
-
--[[linux-2.6.33/arch_rw_lock_t]]
#ifdef CONFIG_GENERIC_LOCKBREAK
-
--[[linux-2.6.33/CONFIG_GENERIC_LOCKBREAK]]
unsigned int break_lock;
#endif
#ifdef CONFIG_DEBUG_SPINLOCK
-
--[[linux-2.6.33/CONFIG_DEBUG_SPINLOCK]]
unsigned int magic, owner_cpu;
void *owner;
#endif
#ifdef CONFIG_DEBUG_LOCK_ALLOC
-
--[[linux-2.6.33/CONFIG_DEBUG_LOCK_ALLOC]]
struct lockdep_map dep_map;
-
--[[linux-2.6.33/lockdep_map]]
#endif
} rwlock_t;
*コメント [#c5c3bd80]
終了行:
*参照元 [#nbade55f]
#backlinks
*説明 [#v6c30ab4]
-パス: [[linux-2.6.33/include/linux/rwlock_types.h]]
-FIXME: これは何?
--説明
**参考 [#n8f27d4e]
-x86 の場合、カッコ内の数値はカウント値の変化
|状態 |異常 | write_lock 中 | read_lock 中 ...
|カウント| < 0 | == 0(read_lock の最大)| < RW_LOCK_BIAS(...
|read_lock() |できない|できない|できる(-1)|できる(...
|write_lock() |できない|できない|できない|できる、-...
|read_unlock() |できる(+1)|できる(+1)|できる(+1)|...
|write_unlock() |できる(+RW_LOCK_BIAS)|できる(+RW_L...
-アンロック時は何もチェックしていないので、
ロックしていないのにアンロックするとロックの状態がおかし...
--FIXME: スピンロックのデバッグ機能を使えば OK??
*実装 [#ba43b9c3]
typedef struct {
arch_rwlock_t raw_lock;
-
--[[linux-2.6.33/arch_rw_lock_t]]
#ifdef CONFIG_GENERIC_LOCKBREAK
-
--[[linux-2.6.33/CONFIG_GENERIC_LOCKBREAK]]
unsigned int break_lock;
#endif
#ifdef CONFIG_DEBUG_SPINLOCK
-
--[[linux-2.6.33/CONFIG_DEBUG_SPINLOCK]]
unsigned int magic, owner_cpu;
void *owner;
#endif
#ifdef CONFIG_DEBUG_LOCK_ALLOC
-
--[[linux-2.6.33/CONFIG_DEBUG_LOCK_ALLOC]]
struct lockdep_map dep_map;
-
--[[linux-2.6.33/lockdep_map]]
#endif
} rwlock_t;
*コメント [#c5c3bd80]
ページ名: