下半分に疑問があります。ここでは、タスクレットのみを考えます。また、プリエンプティブルでないカーネルのみを考慮します。
rx 割り込み処理が約 10 個の関数呼び出しを実行しているイーサネット ドライバを考えてみます。(悪いプログラミング :))
ここで、タスクレットに 9 つの関数呼び出しを移動でき、割り込み処理で呼び出す必要があるのは 1 つだけである場合のパフォーマンスの観点を見ると、tcp 読み取りアプリケーションで本当に良いパフォーマンスを得ることができますか?
言い換えると、ユーザー空間アプリケーションへの切り替えがあると、スケジュールされたタスクレットの 9 つの関数呼び出しがすべて呼び出され、実質的に、ユーザー空間アプリケーションは「スケジュールされたすべてのタスクセット」が終了した後にのみパケット兼データを取得できるようになります。完了?正しい?
下半分を使用することで、すべての割り込みを有効にしていることは理解しています..しかし、割り込みに依存するアプリケーションが、割り込みハンドラー自体または下半分に10個の関数全体を配置することで、実際に何かを得るかどうかは疑問です。
つまり、タスクレットを使用することで、ユーザー空間アプリケーションのパフォーマンスが向上しますか?