割り込みをプロセス間通信で通知すると重いのか?

現在の Mona はハードウェアから割り込みがあると、カーネルの割り込みハンドラから、ユーザー空間にいるドライバプロセスに割り込み通知がいく。
通知には汎用のプロセス間通信の send/receive が使われている。

今までフロッピーディスクコントローラ/IDE/ATAPI などのドライバを書いてこの仕組みで問題なく動いていたが今回は危ういかも。
id:shotaro_tsuji が開発中のサウンドカードドライバでどうしても再生が間延びしてしまっていて、これが割り込み通知のコストに起因するのではないかと調査中。


ドライバは多くののOSではカーネル空間で実行され、割り込みハンドラも直接 call で実現されているのに対して、Mona 式だとメッセージの送受信時のコストが大きいので処理が間に合っていないのかもしれない。