lkml.org 
[lkml]   [2007]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectquestions on details of sg_ioctl

Suppose I send down an SG_IO command on a generic scsi device node. As
far as I can tell, the code path looks like this in 2.6.14:

sg_ioctl
sg_new_write
scsi_execute_async (sets up sg_cmd_done as callback)
scsi_do_req
scsi_insert_special_req
blk_insert_request

and like this in 2.6.23:
sg_ioctl
sg_new_write
scsi_execute_async (sets up sg_cmd_done as callback)
blk_execute_rq_nowait


At this point, is that request queued along with all the other commands,
or is it injected immediately to the device? If it is queued up along
with all the other commands, shouldn't the return path feed into the
queue length calculations if we get BUSY/TASK_SET_FULL?

Also, for the purposes of the device returning TASK_SET_FULL vs BUSY,
does each userspace process count as a SCSI initiator port, or are they
all sort of grouped together? (The reason I ask is that we're getting
TASK_SET_FULL errors but according to SAM-3 that should only happen if
we already have at least one outstanding request.)

Thanks,

Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-11-13 17:03    [W:0.026 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site