schedule()
エミュレーション部分を機能させるために、ATOMIC コンテキストで呼び出す必要があるエミュレーション ドライバーを作成しています。今のところ、schedule()
ATOMIC(スピンロックなど)コンテキスト内で呼び出すことができるこのハックがあります。
int p_count = current_thread_info()->preempt_count;
current_thread_info()->preempt_count = 0;
schedule();
current_thread_info()->preempt_count = p_count;
しかし、それは IRQ 内では機能しません。システムは呼び出し後に停止するだけschedule()
です。
私ができるようにカーネルをハックする方法はありますか? ユーザーモードLinuxでLinuxカーネル4.2.1を使用しています