Deadline I/O Scheduler
Introduction
這是 Linux 對 disk I/O scheduling 提出的方案,解決了兩個問題:
- SCAN scheduling 等待時間 upper bound 太大
- SSTF scheduling 可能 starvation
Implementation
維護兩組 read/write request queue 共四個 queue,一組用 C-SCAN 的排序另一組用 FCFS 排序,兩組擁有相同的 request 內容但是排序方法不同
在普通情況 scheduler 用 C-SCAN 的那條 queue 決定 I/O 順序,但每次處理完一個 I/O 後都會檢查 FCFS queue 是否有等待時間大於 500ms 的 request,如果有就先將那些 I/O request 處理完