I'm working on a research on Linux IO Schedulers. Linux Deadline IO Scheduler uses 'front_merges' property to decide the request is front or back merge. But I couldn't understand how can it work because of it sets 'front_merges' property just in one place and it is only set to 1 as follows.
dd->front_merges = 1;
I want to know how can Deadline IO Scheduler sets the 'front_merges' somewhere else. If it doesn't, what is the scenario of deadline front merge algorithm?
Thanks..
The deadline scheduler declares
front_mergesas a DD_ATTR:And it uses
STORE_FUNCTIONmacro for userspace to change it. You can find them under directory such as /sys/block/sda/queue/iosched: