カーネル内の現在のFIFO/RTスケジューラーを変更しようとしています。システムコールを介して、プロセスの現在のスケジューラー(fair / NORMALから)をFIFOに正常に変更しました。私はこれをcore.c
tgid
次に、プロセスリストを繰り返し処理し、のフィールドに基づいてプロセスを選択し、task_struct
次に処理するキューの前に特定のプロセスを配置する必要があります。これどうやってするの?どのシステムコール/関数がこれを行うのに役立ちますか?
編集:私はすでに赤黒木でCFSに対して同じことをする方法を理解しました。rb_first
and関数を使用していrb_next
ます。FIFOのデータ構造にも同様の関数が必要です。