[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CASSIOPEIA report
鈴木(康)です。
<200005170121.KAA27656@shin1.sm.sony.co.jp>の記事において
takemura@netbsd.orgさんは書きました。
| やっと理解しました。
うまく説明できなくて申し訳ないです。
| config_hook のイベント処理を software interrupt まで
| 遅延するのは本質的に callout と全く同じなので、
| config_hook に機能を追加するのは見送りたいと思います。
| callout を利用して下さい。
|
| カーネル内に全く同じことをするルーチンや API が
| 複数あるのはよくないですよね。
callout_xx について私が誤解していなければ(... って自信ないんですが)
本質的な違いはつぎの点になると思います。
o 最低 1 回の hardclock() イベントが発生しないと実行されない。
-- 時間的に 間が空く
-- 割り込みをマスクしていると実行されない
ハードウェアと密接に関係したもの以外では、
この点が気になるケースは、ほとんどないと思います。
しかし、全く同じことをするわけではなく、
今回はそれが引っかかるケースだと思います。
| > config_hook に関しても、いまの仕様だと splhi 以外で排他制御している
| > リソースは扱えないという制限があるのだと思います。
|
| それは誤解です。config_hook のイベント処理がイベント発信元と
| おなじ interrupt level で実行されるというだけで、
| 発信元の level が splhi かどうかは config_hook 機構とは
| 関係ないのです。
"関係ないので、イベント発信元と イベント受け取る側で interrupt level
に関しての取り決めがないといけない -> 拡張するときに それが足枷に
なって困るのではないか?" という点を指摘したかったのです。
今回以外のケースでは、callout を使えば 確かに足枷は外れるわけですが、
config_hook_call から 受け取るまでの間で interrupt level 変換
してもらえた方が 嬉しいかも知れません。
-----
とはいえ、実際に困っているのは 実験だけだし、将来的に困るケースも
ないかもしれないので、強く主張するつもりはないです。
--
鈴木 康司 @NECソリューションズ
suz@hpc.bs1.fc.nec.co.jp
TEL 042-333-6465