On Wed, Sep 01, 2010 at 02:06:26PM -0700, Vasu Dev wrote: > > > It looks safe to me to call scsi_done() w/o host_lock held, > > > > Hmmmm, this indeed this appears to be safe now.. For some reason I had > > it in my head (and in TCM_Loop virtual SCSI LLD code as well) that > > host_lock needed to be held while calling struct scsi_cmnd->scsi_done(). > > > > I assume this is some old age relic from the BLK days in the SCSI > > completion path, and the subsequent conversion. I still see a couple of > > ancient drivers in drivers/scsi/ that are still doing this, but I > > believe I stand corrected in that (all..?) of the modern in-use > > drivers/scsi code is indeed *not* holding host_lock while calling struct > > scsi_cmnd->scsi_done().. > > > > fcoe/libfc moved to scsi_done w/o holding scsi host_lock a while ago > around dec, 09 and it was done after discussion with Mathew and Chris > Leech from fcoe side at that time, they may have more to comment on > this. There's not a whole lot to comment on. Matthew Wilcox was helping me look for opportunities to reduce our host_lock use, and said he didn't think it was needed around scsi_done anymore. It held up under testing, so I submitted a patch. Chris -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html