Hi Linus,
This is the main pull request for the block IO layer and friends for
2.6.39.
There are two major things in this tree:
- The removal of the per-device plugging state for disks. On fast
devices, it ended up hammering the queue lock quite hard. The new
scheme puts the plugging state on the stack and allows an IO submitter
to finish his batch of IO before pushing it to the queue. Once that
push starts, we'll insert/merge with the existing queue.
A pointer to this plugging context is stored in the task structure. If
a task ends up blocking before it has submitted it's IO (usual cause
would be memory allocation of some sort), the plugged list is
auto-submitted before the task goes to sleep.