FreeBSD Daily Topics

2010年3月8日 FreeBSD 7.0,7.1,7.2のULEスケジューラにデッドロックの不具合,AsiaBSDCon2010開催3日後

この記事を読むのに必要な時間:およそ 0.5 分

errata-notice

FreeBSD-EN-10:02.sched_ule

FreeBSD-EN-10:02.sched_uleにおいて不具合情報が公開されました。FreeBSDには2つのスケジューラが用意されています。7.0までデフォルトで利用されてきた4BSDスケジューラと,7.1移行のデフォルトになったULEスケジューラです。4BSDスケジューラは単一プロセッサで優れた性能を発揮し,ULEはマルチコア/プロセッサで優れた性能を発揮します。ULEがデフォルトになったあとも性能比較の目的や,組み込み用途では4BSDのほうが適切なことがあるため4BSDも保持され続けています。

今回,FreeBSD 7.0,7.1,7.2のULE実装に不具合があることがわかり,特定のケースでデッドロックするパターンが3種類あったことが報告されました。シングルCPUの場合にはデッドロックは発生しませんが,シングルCPUであっても同不具合に対する修正を適用することが推奨されています。

一時的に同問題を回避するには,カーネルを再構築して利用するスケジューラをULEから4BSDへ変更する方法があります。現在どのスケジューラが利用されているかは「sysctl kern.sched.name」を実行することで確認できます。問題を修正するにはパッチを適用してカーネルを再構築するか,最新のセキュリティブランチへカーネルを更新する必要があります。

conference

AsiaBSDCon 2010

13日と14日,東京理科大学森戸記念館においてAsiaBSDCon 2010開催されます。日本のみならず海外から*BSD関係者が集う貴重な機会です。日本からもっとも参加しやすい会議であり,開発者に直接要望を伝えたり意見を聞き出す好機といえます。8日以降は会場で直接参加登録が実施できます。この機会をお見逃しなく!

コメント

  • Re:

    「デッドロックするパターンが3種類」は「3スレッドでデッドロックするパターン」ではないでしょうか。

    Commented : #1  koie (2010/03/10, 15:17)

コメントの記入