Messages in this thread | | | Date | Wed, 17 Jul 2013 18:19:10 +0200 | From | Alexander Gordeev <> | Subject | Re: [PATCH RESEND 0/1] AHCI: Optimize interrupt processing |
| |
On Tue, Jul 16, 2013 at 02:38:03PM -0700, Nicholas A. Bellinger wrote: > [ 7.927818] scsi_execute(): Calling blk_mq_free_request >>> > [ 7.927826] scsi 0:0:0:0: Direct-Access ATA ST9500530NS CC03 PQ: 0 ANSI: 5 > > OK, so INQUIRY response payload is looking as expected here.
Yep. It is not on the top of my head, but I remember something like INQUIRYs are emulated and thus do not have payload.
> [ 7.927960] sd 0:0:0:0: [sda] Sector size 0 reported, assuming 512. > [ 7.927964] sd 0:0:0:0: [sda] 1 512-byte logical blocks: (512 B/512 B) > [ 7.927965] sd 0:0:0:0: [sda] 0-byte physical blocks > > Strange.. READ_CAPACITY appears to be returning a payload as zeros..?
Yep. Because blk_execute_rq() does not put the proper callback and data do not get copied from sg's to bounce buffer. That is why I tried to use blk_mq_execute_rq() instead. Once I do that, data start getting read and booting stops elsewhere.
Of course, I was suspecting that change alone is not valid and wondered about the status of scsi-mq in the first place, and if more changes are coming.
So I it turns out "req->errors + req->resid_len" issue (you described earlier) needs to be addressed before going forward with libata (only?).
> Not sure why yet some control CDBs are getting back the expected > payload, while others are returning zeros..
Bio buffers do not get updated from callback.
> Also, looking at the included stack back-trace:
[...]
Thanks a lot for these and other your comments, Nicholas!
-- Regards, Alexander Gordeev agordeev@redhat.com
| |