• Pete Zaitcev's avatar
    [PATCH] USB: ub 1/3: Axboe's quasi-S/G · ba6abf13
    Pete Zaitcev authored
    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: default avatarPete Zaitcev <zaitcev@yahoo.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    ba6abf13
ub.c 64 KB