【Linux】カーネル総合4【Kernel】 at LINUX
[2ch|▼Menu]
381:374
08/10/08 00:01:55 XuxrYF0I
>>375

> RCUはCASを使わないからここでは話が違うよね。
> x86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。

ほとんどのディストリはvolunteer preemptionでコンパイルされているから気にしなくていいという認識。
・・・組み込み屋さん?

> ロック獲得待ちで待たされるのもCASでリトライしてループするのも
> 処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの?

えーと、spinlockの実装がまさに、CASでリトライしてループだ。
んで、ロックだけのコストで見るとspinlock最強。

じゃあ、なんでlocklessとかwaitfreeにこだわるかというとほとんどの処理は、ロック獲得処理の重要度に非対称性があるから。
xtime の話だとreadがどれだけ遅くなってもwriteがwaitfreeであることに価値があるし、
一般的に、ほとんどのデータ構造はwriteよりもreadアクセスの方が圧倒的に多いからwrite処理が10倍重くなっても
readが数%軽くなるだけで全体のパフォーマンスが上がったりする。



次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5368日前に更新/214 KB
担当:undef