Summary
This chapter provided an overview of I/O scheduling, which is a critical function of the block layer. When a read or write request passes through all the layers of the virtual filesystem, it eventually arrives at the block layer. The chapter explored the various types of I/O schedulers and their characteristics, including their advantages and disadvantages. The block layer includes multiple I/O schedulers that are suitable for particular use cases. The choice of an I/O scheduler plays a vital role in determining how I/O requests will be handled at the lower layer. To make more performance-oriented decisions, most schedulers employ some common techniques that aid in improving overall disk performance. The techniques that we discussed in this chapter are merging, coalescing, sorting, and plugging.
We also explained the different scheduling options available in the kernel. The kernel has a separate set of I/O schedulers for single- and multi-queue devices. The single-queue...