http://kerneltrap.org/node/3440/ より
要約すると,
- 2.4系に比べて,2.6系カーネルはリアルタイム性が劣る.レイテンシは最悪 50msecになることもある.
- Voluntary Kernel Preemption を有効にすると,2.4系よりもリアルタイム性が良くなる.レイテンシは1msec程度になる.
- 使い方も簡単.
- CONFIG_VOLUNTARY_PREEMPT と CONFIG_PREEMPT を有効にしてカーネルをビルド
- /proc 以下のファイル経由で,動的に機能をon/offする.
$ echo 1 > /proc/sys/kernel/voluntary_preemption $ echo 1 > /proc/sys/kernel/kernel_preemption
-
- 設定値とその効果は以下の通り.
kernel_preemption | voluntary_preemption | |
---|---|---|
0 | 0 | stock 2.6 kernel |
0 | 1 | voluntary kernel preemption |
1 | 0 | preempt kernel |
1 | 1 | preemptible kernel enhanced with additional lock-breaks |