特定のCPUコアでLinuxを実行できますか?

特定のCPUコアでLinuxを実行できますか?

脳波検知装置を作っています。ソフトウェア処理には8コアARMプロセッサが使用されます。 CPUコア管理に関して特定のコアセットでのみ実行されるようにLinuxをコーディングできますか?コア 1、2、3 を想定します。ただし、別のコアでデバイスドライバも作成する必要があるため、厳密ではありません(コア4を例にしてみましょう)。それでこれは可能ですか?

答え1

以下を使用して、カーネルスケジューラがCPUコアを無視するようにCPUコアを分離できます。isolcpus カーネルパラメータまたはCPUグループ

だからカーネルを始めましょう

isolcpus=4-7

コア5〜8はユーザーが直接使用するように予約されているため、スレッドの好みを使用して手動でプロセスをスケジュールする必要があります。

カーネルのドライバにCPUコアを専用に割り当てることは不可能だと思います。

答え2

プロセスを特定のコアに制限できます。

taskset mask command [arguments]

関連情報