On Thu, 2010-11-11 at 09:53 -0600, James Bottomley wrote:
Fair enough, but this is only less expensive with a spinlock w/p
interrupts disabled, yes..?
I am not exactly sure that qla4 or lpfc is on the list of LLDs that use
and still need a cmd->serial_number for anything beyond simple printk()
purposes..
Correct, this is what we where originally doing in the
host_lock-less-for-37-v6 series here:
http://git.kernel.org/?p=linux/kernel/git/nab/lio-4.0.git;a=commitdiff;h=72a7203366150...
The LLDs that ended up requring the explict calls for:
mpt2sas: Add scsi_cmd_get_serial() call and set SHT->queuecommand_unlocked()
mpt/fusion: Add scsi_cmd_get_serial() call and set SHT->queuecommand_unlocked()
dpt_i2o: Add scsi_cmd_get_serial() call
eata: Add scsi_cmd_get_serial() call
u14-34f: Add scsi_cmd_get_serial() call
cmd->serial_number in their internal error recovery handling.
Sounds good to me, but you will recall the last attempt to make
scsi_cmd_get_serial() optional for the special case LLDs, that we
started running quickly in the legacy usage of cmd->serial_number in
scsi_softirq_done() and the side effects in scsi_try_to_abort_cmd(), who
use is complex enough that we have not found a proper resolution
sufficent to andmike discussed here:
http://marc.info/?l=linux-scsi&m=128535319915212&w=2http://marc.info/?l=linux-scsi&m=128820726325009&w=2
Any takers..? ;)
--nab
--