はじめに POSIXのタスクのスケジューリングポリシーに類似させて作られたLinux独自のI/Oスケジューリングクラスについての理解を深めようという趣旨の雑記です。なお、Linux-4.10くらいとutil-linux-2.29.2くらいを見ています。 概要 Linuxはタスク(スレッド)ごとにioprio値(io_context)を持つ。これはクラスとデータを組み合わせた値となっている。クラスは下記の4つ。 IOPRIO_CLASS_NONE IOPRIO_CLASS_RT IOPRIO_CLASS_BE IOPRIO_CLASS_IDLE IOPRIO_CLASS_RTとIOPRIO_CLASS_BEの時はさらに0から7までの優先度をデータとして持つ。ioprioはこれらを下記のようなマクロで組み合わせて表示される。kernel/include/linux/ioprio.hより、 10