Linux カーネルの spin_lock 実装は、preempt_disable() を呼び出すことによってプリエンプションを無効にします。私のカーネル構成では CONFIG_PREEMPT が設定されていません。spin_lock 中は割り込みが無効にならないため、割り込みハンドラは schedule() を呼び出すことができます。spin_lock を取得したため、スケジューラが別のプロセスをスケジュールしていないコードを指摘してください。
Linux カーネルの spin_lock 実装は、preempt_disable() を呼び出すことによってプリエンプションを無効にします。私のカーネル構成では CONFIG_PREEMPT が設定されていません。spin_lock 中は割り込みが無効にならないため、割り込みハンドラは schedule() を呼び出すことができます。spin_lock を取得したため、スケジューラが別のプロセスをスケジュールしていないコードを指摘してください。