One of the changes slipped into the 2.6.32-rc3 release was the addition of
a "low latency" mode for the CFQ I/O scheduler. Normally the scheduler
will try to delay many new I/O requests for a short time in the hope that
they can be joined with other requests which may come shortly thereafter.
This behavior will minimize disk seeks and maximize I/O request size, so it
is clearly good for throughput. But the addition of delays can be
a problem if the overriding goal is to complete the operation as quickly as
The new mode (initially called "desktop" before being renamed
"low_latency") is enabled by default; it can be adjusted by setting the
iosched/low_latency attribute associated with each block device in
sysfs. When set, some of the delays for "synchronous operations" (reads,
generally) no longer happen. The result should be more responsive I/O and,
one would hope, happier users.
Note: please see the comments for a description of this change which is more, um, accurate. Your editor blames the Death Flu that his kids brought home.
to post comments)