タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

mutexとスピンロックに関するyohei-aのブックマーク (2)

  • Linus(と筆者)を嘆かせたanon_vma騒ぎ(1/2) - @IT

    4月版 Linus(と筆者)を嘆かせたanon_vma騒ぎ 小崎資広 2010/5/18 こんにちは。文で紹介するanon_vma騒ぎに巻き込まれまくって、ゴールデンウイークが丸ごとつぶれてしまってションボリな筆者です。いったいLKMLでどんなことがあったのでしょうか。それではどうぞ。 アダプティブMutexの最適解は? Darren Hartは「RFC: Ideal Adaptive Spinning Conditions」と題した興味深い投稿をポストしました。この提案はFUTEX_LOCKおよびFUTEX_LOCK_ADAPTIVEという新しいfutex操作を導入することにより、ユーザーランドスピンロック問題を解決することを目指しています。 ユーザーランドスピンロック問題とは、昨年のkernel summit以降、盛んに議論されるようになったトピックです。現在、PostgreSQL

  • スピンロックの使用

    スピンロックの使用 スピンロックは、主に共有メモリー型のマルチプロセッサ上での使用に適した低レベルの同期機構です。呼び出しスレッドが、すでに別のスレッドによって保持されているスピンロックを要求する場合、2 番目のスレッドは、そのロックが使用可能になったかどうかをテストするためのループに入ります。スピンはプロセッササイクルを浪費するため、ロックを獲得したら、短時間だけ保持するようにすべきです。呼び出し元は、ほかのスレッドがロックを獲得できるようにするためのスリープ操作を呼び出す前に、スピンロックを解除するようにしてください。 スピンロックは mutex と条件変数を使用して実装することもできますが、スピンロックを実行するための標準化された方法は pthread_spin_* 関数です。短期間のロックであれば、pthread_spin_* 関数に必要なオーバーヘッドははるかに少なくなります。

    yohei-a
    yohei-a 2012/08/13
    "非常に短期間のブロックでは、スピンロックの方が全体的なオーバーヘッドは少なくなることがあります。スレッドがより長期間ブロックされる場合は、mutex の方が全体的なオーバーヘッドは少なくなることがあります。"
  • 1