]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] USB: ub 1/3: Axboe's quasi-S/G
authorPete Zaitcev <zaitcev@redhat.com>
Sun, 31 Jul 2005 05:38:30 +0000 (22:38 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 8 Sep 2005 23:22:39 +0000 (16:22 -0700)
commit5b37ff66336a015f2e28751985a1ead01046b516
tree9ffeef3d2e7c36798ff38ffc450b1d3fb15c7174
parent6e1184a89ca9efdcaa2a19954d88885681af93d3
[PATCH] USB: ub 1/3: Axboe's quasi-S/G

This the quasi-S/G patch for ub as suggested by Jens Axboe at OLS and
implemented that night before 4 a.m. Surprisingly, it worked right away...
Alas, I had to skip some OLS partying, but it was for the good cause.
Now the speed of ub is quite acceptable even on partitions with small
block size.

The ub does not really support S/G. Instead, it just tells the block
layer that it does. Then, most of the time, the block layer merges
requests and passes single-segmnent requests down to ub; everything
works as before. Very rarely ub gets an unmerged S/G request. In such
case, it issues several commands to the device.

I added a small array of counters to monitor the merging (sg_stat).
This may be dropped later.

Signed-off-by: Pete Zaitcev <zaitcev@yahoo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/block/ub.c