Linuxイオニスは/ dev /ノードに影響を与えますか?
質問
Linux用の仮想入力ドライバを書いた、および/ devノードを介してそれらと通信するサーバ。 さて、それらのうちの1つは仮想マウスであり、マウスが滑らかに感じるためにできるだけ早く信号サーバが受信するのかは非常に重要です。
その理由は、サーバプロセスのIoniceを1に設定します(まだ重要なLinuxデーモンよりも優先されません):
if (ioprio_set(IOPRIO_WHO_PROCESS,getpid(), 1 | IOPRIO_CLASS_RT << IOPRIO_CLASS_SHIFT) == -1) {
logger->error("ioprio_set() error",errno);
}
.
しかし、私はそれが価値があることさえないことは確かではありません。たとえあとえ違いは、わかりません。実際のディスクへのアクセスが与えられていないにもかかわらず、/ dev / dev /検討されている場合は、/ dev /検討されていますか?
解決
私が知っている限り、ionice
が影響するOS内のレイヤーはI / Oスケジューラです。少なくともカーネル2.6.17まで、cfq
は実際にionice
をサポートする唯一のスケジューラであり、少なくともカーネルが提供するデフォルトのスケジューラに関して何も変更されていないと思います。
I / Oスケジューラはブロックデバイスでのみ使用されます。ここで、オペレーションをキューに入れたり、それらの順序を変更したり、それらを遅らせるかマージしたりすることが可能です。(ここで)これは、ブロックデバイスのみ(/sys
などのファイル)の/sys/devices/pci0000:00/0000:00:08.0/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler
仮想ファイルシステムを介してスケジューラを変更できることと一致しています。マウスドライバは文字デバイスであり、そのように、I / Oスケジューラまたはionice
の影響をすべて存在しません。