Re: Calling scsi_add_host multiple times for concurency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2011-03-10 at 08:35 -0800, va stg2010 wrote:
> Hi
> My initiator HBA  has 4 ports. Right now  I call scsi_add_host() only once.
> Currently I have single queue for all 4 ports where  pending scsi
> commands wait till interrupt handler posts response.  I am trying to
> add more queue (one per port) to reduce some locking contention.

Why do you have a single issue queue?  If the contention is in that,
then you can easily fix that without altering the host structure.

> Can I expect higher concurrency if I call scsi_add_host 4 times , one
> for each port. ?
> Is it going to work if I call scsi_add_host  4 times and  will
> allocate queue (for pending scsi commands) for each scsi host I
> registered?

Um, so this makes me think you don't understand the SCSI queuing.  The
block queue is per registered sdev (which is usually a LUN) not per
host.  However, pending commands aren't kept on the block queue: we
dequeue them in the request queue.

> What performance benefits can I expect, if any?

SCSI counts things per host, Like maximum number of commands.  It
doesn't really impact concurrency, since that's done per queue (which is
per LUN) but it does mean there's a per-host lock in the submit path
which can show up in profiling (particularly for high iop devices).

James


--
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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux