Hi alan:
Recently I trace scsi and usb storage driver and try to improve the
read speed of my usb stick.
I have some questions about them:
1. below is the struct of scsi cmd, and there is a list seems for
linking multiple scsi cmd
But I found usb storage driver seems always get one cmd at a time.
why don't upper layer link more of them to send it once?
struct scsi_cmnd {
struct scsi_device *device;
struct list_head list; /* scsi_cmnd participates in queue lists */
.........
...........
2. I have traced upper layer source code to find out where the scsi
cmd come from and I found it just pass from cmd = req->special; one
of element of request_queue that passes to scsi_request_fn?
where and how upper layer made it?(I guess it should made from block layer )
great appreciate your kind help :)
vichy
--