質問

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の影響をすべて存在しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top