The FIFO I/O Scheduler
Linux's noop scheduler is not truly no-operation; it merges and sometimes sorts requests. This is not always desired behaviour, such as when other layers are scheduling requests, when the underlying device is such that scheduling does not improve performance, or for benchmarking, where a first come first served (FCFS) algorithm is often used as a baseline for comparison purposes.
FIFO is based on noop, but never merges or reorders requests; it is pure FCFS and has no tunables.
Patch for Linux 2.4.24+: http://www.cse.unsw.edu.au/~aaronc/iosched/patches/fifo-iosched.patch.
Set CONFIG_IOSCHED_FIFO=y to compile it in, then select it at run-time by executing
echo fifo >/sys/block/<device>/queue/scheduler
where <device> is the disk name (e.g. sda).