# This file contains the rules to customize io scheduler. # Heuristics: # 'deadline' io-scheduler tuned settings # - deadline generally recommended for databases, servers, and SSDs, # and for more deterministic latency # - note that read_expire is a key tuning parameter here # - the following is recommended by DRBD user guide # front_merges: 0 (from 1) # read_expire: 150 (from 500) # write_expire: 1500 (from 5000) # # 'noop' io scheduler for variants of HW-RAID. # - RAID controller will do its own separate scheduling # # Overall: # - We prefer to guarantee latency more than fairness for all platform services, # especially under extreme read and write load, e.g, when creating/deleting # multiple heat stacks, or running disk intensive operations. ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline" ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTR{queue/iosched/front_merges}="0" ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTR{queue/iosched/read_expire}="150" ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTR{queue/iosched/write_expire}="1500" # Set noop io scheduler for variants of HW-RAID. # HP ProLiant DL360p Gen8; HP ProLiant DL380p Gen8 ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTRS{raid_level}=="*RAID*", ATTR{queue/scheduler}="noop"