Mike Christie <micha...@cs.wisc.edu> wrote:

> The scsi_host_template->queuecommand function is called by scsi-ml with
> irqs disabled spin_lock_irqsave(host->host_lock, flags)

thanks for clarifying that, specifically do you refer to scsi.c ::
scsi_dispatch_cmd()? at some point I was LXR-ing for queuecommand and
somehow got a bit confused thinking that this isn't the only flow the
invokes queuecommand. If this --is-- the case, then I'm back to my 2nd
question... why iscsi_queuecommand does spin_unlock(host->host_lock)
in its beginning and spin_lock(host->host_lock) in its end?

> I thought bhs are run from interrupt context, so scsi-mls disabling irqs did 
> what we
> needed (see the bottom of Rusty Russells locking guide
> http://www.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/c188.html#HARDIRQ-
> SOFTIRQ I think there is more detail in the Linux Device Driver book).

mmm, understood, yes from Rusty's wording I understand that indeed the
ML irq disabling does what we want for the cpu queuecommand runs on.



You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-is...@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to