ablog

不器用で落着きのない技術者のメモ

Linux のI/Oスケジューラ層はどこにあるか

ふと、Oracle Database で記憶域に ASM を使っている場合、I/Oスケジューラを経由するんだろうかと思った。
普通に考えると、ASM を使っていても、データファイルを読み書きする際は DBWR というユーザープロセスがブロックデバイスファイルにシステムコールを発行するわけだから、I/Oスケジューラを経由する気がする。

詳解 Linuxカーネル 第3版

詳解 Linuxカーネル 第3版


P.598 図 14-1 を見ると、

ファイルシステムやブロックデバイスファイルのレイヤの下に汎用ブロック層があって、その下にI/Oスケジューラ層があり、その下にブロック型デバイスドライバがある。
ということで ASM を使っている場合でも I/O スケジューラを経由していると思う。