Messages in this thread | | | Date | Fri, 17 Sep 2010 14:26:04 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH 0/8] Drop host_lock around LLD SHT->queuecommand() caller |
| |
On 09/16/2010 09:31 PM, Nicholas A. Bellinger wrote: > On Thu, 2010-09-16 at 18:29 -0700, Tim Chen wrote: >> On Thu, 2010-09-16 at 15:35 -0700, Nicholas A. Bellinger wrote: >>> From: Nicholas Bellinger<nab@linux-iscsi.org> >>> >>> Greetings all, >>> >>> This series contains the first round of a whole-sale conversion for droping >>> struct Scsi_Host->host_lock around struct Scsi_Host->queuecommand() within >>> scsi_dispatch_cmd(). So with this first patch the only part of scsi_dispatch_cmd() >>> that is protected by host_lock is scsi_cmd_get_serial)_. >>> >> >> Maybe we can change the host->cmd_serial_number to atomic and totally >> avoid the need to take host_lock. > > Hmmmm good point, then we would also need an atomic_t for signaling > (shost_state == SHOST_DEL) in scsi_dispatch_cmd() to be able to > completly drop host_lock usage within scsi_dispatch_cmd(). > > I can take a look at doing this specific part, if you would be willing > to have a look at the host->cmd_serial_number conversion piece. ;)
But that raises the familiar tale of: using multiple atomics (w/ their locked instructions) may cost more than a spinlock.
Jeff
| |