Re: [PATCH 03/25] lpfc: Implement common IO buffers between NVME and SCSI

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

 



On 12/27/18 12:33 AM, James Smart wrote:
Currently, both NVME and SCSI get their IO buffers from separate
pools. XRI's are associated 1:1 with IO buffers, so XRI's are also
split between protocols.

Eliminate the independent pools and use a single pool. Each buffer
structure now has a common section and a protocol section. Per
protocol routines for SGL initialization are removed and replaced
by common routines. Initialization of the buffers is only done on
the common area.  All other fields, which are protocol specific, are
initialized when the buffer is allocated for use in the per-protocol
allocation routine.

In the past, the SCSI side allocated IO buffers as part of slave_alloc
calls until the maximum XRIs for SCSI was reached. As all XRIs are now
common and may be used for either protocol, allocation for everything
is done as part of adapter initialization and the scsi side has no
action in slave alloc.

As XRI's are no longer split, the lpfc_xri_split module parameter is
removed.

Adapters based on SLI3 will continue to use the older
scsi_buf_list_get/put routines.  All SLI4 adapters utilize the new
IO buffer scheme

Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx>
Signed-off-by: James Smart <jsmart2021@xxxxxxxxx>
---
  drivers/scsi/lpfc/lpfc.h      |  17 +-
  drivers/scsi/lpfc/lpfc_attr.c |  23 +-
  drivers/scsi/lpfc/lpfc_crtn.h |   6 +-
  drivers/scsi/lpfc/lpfc_init.c | 515 +++++++++++++++++++++++-------------------
  drivers/scsi/lpfc/lpfc_nvme.c | 500 ++++++----------------------------------
  drivers/scsi/lpfc/lpfc_nvme.h |  33 +--
  drivers/scsi/lpfc/lpfc_scsi.c | 500 +++++++++-------------------------------
  drivers/scsi/lpfc/lpfc_scsi.h |  27 +--
  drivers/scsi/lpfc/lpfc_sli.c  | 279 +++++++++++++++++------
  drivers/scsi/lpfc/lpfc_sli4.h |  16 +-
  10 files changed, 707 insertions(+), 1209 deletions(-)
Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>

Cheers,

Hannes




[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