The only thing that should keep the attribute being shown is whether
you have a non-zero value for the template .vport_disable function.
Double-checked it on my systems...
-- james s
Seokmann Ju wrote:
Hello James,
I've got a question on NPIV framwork that is included in FC transport
layer.
Sounds reasonable... Only change I'd make is rather than comparing all the
different states, simply compare (rport->port_state != FC_PORTSTATE_ONLINE)
-- james s
Hannes Reinecke wrote:
Hi James (& James, too :-),
scsi_transport_fc.c:fc_user_scan() should check the portstates prior to
calling
ACK - missed in our merge. Thank You...
-- james s
Boaz Harrosh wrote:
This is an addendum to:
commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf
Author: FUJITA Tomonori <[EMAIL PROTECTED]>
[SCSI] lpfc: convert to use the data buffer accessors
One place was missed in the merge
Signed-of
nents.
While those efforts are underway, we would like receive review comments
on the code that is present. Comments can be sent to:
ecd-efct@broadcom.com or myself
-- james
On 2/27/2017 3:28 PM, James Smart wrote:
I'd like to announce the availability of the Broadcom (Emulex)
On 12/19/2018 10:04 AM, Sebastian Herbszt wrote:
Hello James,
I'd like to announce the availability of the Broadcom (Emulex) FC target
driver - efct.
This is the 2nd round of announcement. In the first round, after
discussion with community members, it was decided that the driver would
consi
vectors
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 4 +-
drivers/scsi/lpfc/lpfc_attr.c| 84 ++-
drivers/scsi/lpfc/lpfc_debugfs.c | 152 ++--
drivers/scsi/lpfc/lpfc_debugfs.h | 65 +++---
drivers/scsi/lpfc/lpfc_init.c| 489
-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 5 --
drivers/scsi/lpfc/lpfc_debugfs.c | 131 +--
drivers/scsi/lpfc/lpfc_nvme.c| 37 +--
drivers/scsi/lpfc/lpfc_nvmet.c | 58 -
drivers/scsi/lpfc/lpfc_sli4.h| 11
max applies to a single
cpu and the value will be replicated to all cpus.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_attr.c | 8 ++-
drivers/scsi/lpfc/lpfc_init.c | 9 ++-
drivers/scsi/lpfc/lpfc_sli.c |
Now that performance mods don't split resources by protocol and
enable both protocols by default, there's no reason not to enable
concurrent SCSI and NVME fc4 support.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_attr.c | 4 ++--
1 file
pci_irq_vector() usage.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_init.c | 162 --
1 file changed, 13 insertions(+), 149 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index
I'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
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lp
lpfc_sli4_scmd_to_wqidx_distr() routine. No longer needed.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 3 +-
drivers/scsi/lpfc/lpfc_attr.c | 10 ++
drivers/scsi/lpfc/lpfc_init.c | 7 -
drivers/scsi/lpfc/lpfc_scsi.c | 73
Both NVME and SCSI aborts are now processed off the CQ workqueue and
do not generate events for the slowpath any more.
Remove the unused event code.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 1 -
drivers/scsi/lpfc/lpfc_hbadisc.c | 2
dware queue statistics
Added new empty_io_bufs counter to track if a cpu runs out of XRIs.
Replace common_ variables/names with io_ to make meanings clearer.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 8 +-
drivers/scsi/lpfc/lpfc_attr.c
A scsi host lock is taken on every io completion to check whether
someone is waiting on the io completion. The lock doesn't have to be
taken on all ios, only those that have been marked as aborted.
Rework to avoid the lock on non-aborted ios.
Signed-off-by: Dick Kennedy
Signed-off-by:
-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_crtn.h| 5 -
drivers/scsi/lpfc/lpfc_debugfs.c | 36 +--
drivers/scsi/lpfc/lpfc_init.c| 225 ++-
drivers/scsi/lpfc/lpfc_scsi.c| 9 +-
drivers/scsi/lpfc/lpfc_sli.c | 212
the interrupting event, schedule the
cq processing on the cpu associated with the hardware queue's cq.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_attr.c | 11 ++-
drivers/scsi/lpfc/lpfc_hw4.h | 2 +-
drivers/scsi/lpfc/lpfc_nvme.c
But the fc discovery node pointer is alrady in the
command structure so the dereferrence was unnecessary.
Eliminated the nrport structure member and its use, which also
eliminates the port-wide lock.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_n
relationships with the per-cpu
hardware queues so they can function independently. MSIX vectors
will be equitably split been cpu sockets/cores and then the
per-cpu hardware queues will be mapped to the vectors most
efficient for them.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers
and their behaviors.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 29 +-
drivers/scsi/lpfc/lpfc_attr.c| 9 +
drivers/scsi/lpfc/lpfc_crtn.h| 16 +
drivers/scsi/lpfc/lpfc_debugfs.c | 262 ++
drivers/scsi/lpfc/lpfc_debugfs.h |
routine that properly adapts.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_crtn.h | 4 ++--
drivers/scsi/lpfc/lpfc_init.c | 3 ++-
drivers/scsi/lpfc/lpfc_nvme.c | 11 ++-
drivers/scsi/lpfc/lpfc_nvme.h | 3 ++-
drivers/scsi/lpfc/lpfc_nvmet.c | 34
syfs and debugfs stat routines to collate the per
hardware queue values and report at an adapter level.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 9 +--
drivers/scsi/lpfc/lpfc_attr.c| 68 ++---
drivers/scsi/lpfc/lpfc_debugfs.c
or hardware queue
resources could not scale to the cpu count).
Correct the queue affinitization logic, when queue count is less than
cpu count.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_attr.c | 38 +---
drivers/scsi/lpfc
lpfc_nvme_prep_io_cmd() checks for null pnode, but caller
lpfc_nvme_fcp_io_submit() has already ensured it's non-null.
remove the pnode null check
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_nvme.c | 2 +-
1 file changed, 1 insertion(+), 1 del
nvme target module, whose changes are dependent upon the
submission path rework.
The patches were cut against Martin's 4.21/scsi-queue tree
James Smart (25):
lpfc: cleanup: remove nrport from nvme command structure
lpfc: cleanup: Remove excess check on NVME io submit code path
lpfc:
Update lpfc version to 12.2.0.0
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h
index 3f4398ffb567..e07263dc07ed
val. Commonized lock handling around the abort processing routines.
Prevent context release while still in ABTS list.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc_nvmet.c | 50 +++---
1 file changed, 37 insertions(+), 13 deleti
will only rearm as the
processing thread exits. The immediately interrupt is also beneficial
to idle or lower-processing CQ's as they get serviced immediately without
being penalized by sharing an EQ with a more loaded CQ.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers
I can continue
to allow NPIV support.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 3 ++-
drivers/scsi/lpfc/lpfc_attr.c | 4 ++--
drivers/scsi/lpfc/lpfc_ct.c| 16
drivers/scsi/lpfc/lpfc_debugfs.c | 4 ++--
dr
.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 1 +
drivers/scsi/lpfc/lpfc_nvmet.c | 247 ++---
drivers/scsi/lpfc/lpfc_nvmet.h | 1 +
3 files changed, 137 insertions(+), 112 deletions(-)
diff --git a/drivers
The work done to date utilized the number of present cpus when
sizing per-cpu structures. Structures should have been sized based
on the max possible cpu count.
Convert the driver over to possible cpu count for sizing allocation.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
On 12/28/2018 1:05 AM, Hannes Reinecke wrote:
That should rather be in the previous patch, no?
I'll double check. If so, and I repost, I'll move it.
-- james
On 12/28/2018 1:10 AM, Hannes Reinecke wrote:
Have you looked at using embedded xri buffers?
Now that you have a common xri buffer structure it should be possible to
switch to embedded xri buffers, and rely on blk-mq sbitmap tag
allocation to manage the xri buffers.
Alternatively one could _ide
On 12/28/2018 1:16 AM, Hannes Reinecke wrote:
On 12/27/18 12:33 AM, James Smart wrote:
A scsi host lock is taken on every io completion to check whether
someone is waiting on the io completion. The lock doesn't have to be
taken on all ios, only those that have been marked as aborted.
Rewo
On 12/28/2018 1:23 AM, Hannes Reinecke wrote:
As indicated previously, once we would be using embedded xris none of
this would be necessary ...
See comments on prior patch...
-- james
On 12/28/2018 1:53 AM, Hannes Reinecke wrote:
Have you considered making 'LPFC_EQ_DELAY_MSECS' configurable?
It looks to me as if it would introduce a completion latency; having it
configurable would allow us to check and possibly modify this.
It could be configurable if desired.
It shouldn't
On 12/28/2018 4:30 AM, Hannes Reinecke wrote:
Doesn't this obsolete patch 16?
no - it just changes the way vectors are obtained.
-- james
-free, and a hang if slub_debug=FZPU is enabled.
Fix this by putting the completion on the stack.
Signed-off-by: Ewan D. Milne
---
drivers/scsi/lpfc/lpfc_nvmet.c | 8 +---
drivers/scsi/lpfc/lpfc_nvmet.h | 2 +-
2 files changed, 6 insertions(+), 4 deletions(-)
Reviewed-by: James
, and a hang if slub_debug=FZPU is enabled.
Fix this by putting the completion on the stack.
Signed-off-by: Ewan D. Milne
---
drivers/scsi/lpfc/lpfc_nvme.c | 16 +---
drivers/scsi/lpfc/lpfc_nvme.h | 2 +-
2 files changed, 10 insertions(+), 8 deletions(-)
Reviewed-by: James
But the fc discovery node pointer is alrady in the
command structure so the dereferrence was unnecessary.
Eliminated the nrport structure member and its use, which also
eliminates the port-wide lock.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers
-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 5 --
drivers/scsi/lpfc/lpfc_debugfs.c | 131 +--
drivers/scsi/lpfc/lpfc_nvme.c| 37 +--
drivers/scsi/lpfc/lpfc_nvmet.c | 58 -
drivers/scsi
vectors
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 4 +-
drivers/scsi/lpfc/lpfc_attr.c| 84 ++-
drivers/scsi/lpfc/lpfc_debugfs.c | 152 ++--
drivers/scsi/lpfc/lpfc_debugfs.h | 65 +++---
drivers
lpfc_nvme_prep_io_cmd() checks for null pnode, but caller
lpfc_nvme_fcp_io_submit() has already ensured it's non-null.
remove the pnode null check
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_nvme.c | 2 +-
1 file chang
Locking on completion and abort paths.
Modified references to access_ok() for kernel api change.
Reworked as only scsi_mq is now supported. Removed references to
shost_use_scsi_mq() as well as driver addition of an
enable_scsi_mq flag and module parameter.
Added Copyright updates patch
J
syfs and debugfs stat routines to collate the per
hardware queue values and report at an adapter level.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
v2: access_ok() arg list reduce to match kernel api change
---
drivers/scsi/lpfc/lpfc.h | 9
and their behaviors.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v2: access_ok() arg list reduce to match kernel api change
---
drivers/scsi/lpfc/lpfc.h | 26 +-
drivers/scsi/lpfc/lpfc_attr.c| 9 +
drivers/scsi/lpfc/lpfc_crtn.h| 16 +
drivers/scsi/lpfc/lpfc_debu
get_scsi-buf_xxx routines.
= Remove lpfc_sli4_scmd_to_wqidx_distr() routine. No longer needed.
- Includes fix for SLI-3 that does not have multi queue parallelization.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v2:
Adapt for 5.0 api changes:
SCSI mq support only.
Remove all
will only rearm as the
processing thread exits. The immediately interrupt is also beneficial
to idle or lower-processing CQ's as they get serviced immediately without
being penalized by sharing an EQ with a more loaded CQ.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-
Update lpfc version to 12.2.0.0
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h
.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 1 +
drivers/scsi/lpfc/lpfc_nvmet.c | 247 ++---
drivers/scsi/lpfc/lpfc_nvmet.h | 1 +
3 files changed, 137 insertions(+), 112
val. Commonized lock handling around the abort processing routines.
Prevent context release while still in ABTS list.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_nvmet.c | 50 +++---
1 file changed,
-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_crtn.h| 5 -
drivers/scsi/lpfc/lpfc_debugfs.c | 36 +--
drivers/scsi/lpfc/lpfc_init.c| 225 ++-
drivers/scsi/lpfc/lpfc_scsi.c| 9 +-
drivers/scsi/lpfc/lpfc_sli.c
or hardware queue
resources could not scale to the cpu count).
Correct the queue affinitization logic, when queue count is less than
cpu count.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_attr.c | 38
new cmd lock. Ensure all flag
changing and nulling of context pointers taken under lock.
When adding lock to task management abort, realized it was
missing other synchronization locks. Added that synchronization
to match normal paths.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
The work done to date utilized the number of present cpus when
sizing per-cpu structures. Structures should have been sized based
on the max possible cpu count.
Convert the driver over to possible cpu count for sizing allocation.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed
I can continue
to allow NPIV support.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 3 ++-
drivers/scsi/lpfc/lpfc_attr.c | 4 ++--
drivers/scsi/lpfc/lpfc_ct.c| 16
drivers/scsi
max applies to a single
cpu and the value will be replicated to all cpus.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_attr.c | 8 ++-
drivers/scsi/lpfc/lpfc_init.c | 9 ++-
drivers/scsi/lpfc/lpfc_sli.c |
Now that performance mods don't split resources by protocol and
enable both protocols by default, there's no reason not to enable
concurrent SCSI and NVME fc4 support.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_
I'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
Signed-off-by: James Smart
Reviewed-by:
relationships with the per-cpu
hardware queues so they can function independently. MSIX vectors
will be equitably split been cpu sockets/cores and then the
per-cpu hardware queues will be mapped to the vectors most
efficient for them.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by
Both NVME and SCSI aborts are now processed off the CQ workqueue and
do not generate events for the slowpath any more.
Remove the unused event code.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 1 -
drivers/scsi
dware queue statistics
Added new empty_io_bufs counter to track if a cpu runs out of XRIs.
Replace common_ variables/names with io_ to make meanings clearer.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 8 +-
drivers
the interrupting event, schedule the
cq processing on the cpu associated with the hardware queue's cq.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v2:
Adapt for 5.0 api changes:
Remove all use of shost_use_scsi_mq().
Remove references to driver flag to enable sc
routine that properly adapts.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_crtn.h | 4 ++--
drivers/scsi/lpfc/lpfc_init.c | 3 ++-
drivers/scsi/lpfc/lpfc_nvme.c | 11 ++-
drivers/scsi/lpfc/lpfc_nvme.h | 3 ++-
drivers
pci_irq_vector() usage.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_init.c | 162 --
1 file changed, 13 insertions(+), 149 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers
For files modifed as part of 12.2.0.0 patches, update
copyright to 2019
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 2 +-
drivers/scsi/lpfc/lpfc_attr.c | 2 +-
drivers/scsi/lpfc/lpfc_crtn.h | 2 +-
drivers/scsi/lpfc/lpfc_ct.c
Tweaked patch 17 to do auto-eq-delays only if ganging up on a cpu.
James Smart (26):
lpfc: cleanup: remove nrport from nvme command structure
lpfc: cleanup: Remove excess check on NVME io submit code path
lpfc: Implement common IO buffers between NVME and SCSI
lpfc: Remove extra vecto
I'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
Signed-off-by: James Smart
Reviewed-by:
-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 5 --
drivers/scsi/lpfc/lpfc_debugfs.c | 131 +--
drivers/scsi/lpfc/lpfc_nvme.c| 37 +--
drivers/scsi/lpfc/lpfc_nvmet.c | 58 -
drivers/scsi
dware queue statistics
Added new empty_io_bufs counter to track if a cpu runs out of XRIs.
Replace common_ variables/names with io_ to make meanings clearer.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 8 +-
drivers
the interrupting event, schedule the
cq processing on the cpu associated with the hardware queue's cq.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v2:
Adapt for 5.0 api changes:
Remove all use of shost_use_scsi_mq().
Remove references to driver flag to enable sc
get_scsi-buf_xxx routines.
= Remove lpfc_sli4_scmd_to_wqidx_distr() routine. No longer needed.
- Includes fix for SLI-3 that does not have multi queue parallelization.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v2:
Adapt for 5.0 api changes:
SCSI mq support only.
Remove all
syfs and debugfs stat routines to collate the per
hardware queue values and report at an adapter level.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
v2: access_ok() arg list reduce to match kernel api change
---
drivers/scsi/lpfc/lpfc.h | 9
routine that properly adapts.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_crtn.h | 4 ++--
drivers/scsi/lpfc/lpfc_init.c | 3 ++-
drivers/scsi/lpfc/lpfc_nvme.c | 11 ++-
drivers/scsi/lpfc/lpfc_nvme.h | 3 ++-
drivers
vectors
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 4 +-
drivers/scsi/lpfc/lpfc_attr.c| 84 ++-
drivers/scsi/lpfc/lpfc_debugfs.c | 152 ++--
drivers/scsi/lpfc/lpfc_debugfs.h | 65 +++---
drivers
Both NVME and SCSI aborts are now processed off the CQ workqueue and
do not generate events for the slowpath any more.
Remove the unused event code.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 1 -
drivers/scsi
But the fc discovery node pointer is alrady in the
command structure so the dereferrence was unnecessary.
Eliminated the nrport structure member and its use, which also
eliminates the port-wide lock.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers
lpfc_nvme_prep_io_cmd() checks for null pnode, but caller
lpfc_nvme_fcp_io_submit() has already ensured it's non-null.
remove the pnode null check
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_nvme.c | 2 +-
1 file chang
-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_crtn.h| 5 -
drivers/scsi/lpfc/lpfc_debugfs.c | 36 +--
drivers/scsi/lpfc/lpfc_init.c| 225 ++-
drivers/scsi/lpfc/lpfc_scsi.c| 9 +-
drivers/scsi/lpfc/lpfc_sli.c
or hardware queue
resources could not scale to the cpu count).
Correct the queue affinitization logic, when queue count is less than
cpu count.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_attr.c | 38
Update lpfc version to 12.2.0.0
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h
For files modifed as part of 12.2.0.0 patches, update
copyright to 2019
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
drivers/scsi/lpfc/lpfc.h | 2 +-
drivers/scsi/lpfc/lpfc_attr.c | 2 +-
drivers/scsi/lpfc/lpfc_crtn.h | 2 +-
drivers/scsi/lpfc/lpfc_ct.c
will only rearm as the
processing thread exits. The immediately interrupt is also beneficial
to idle or lower-processing CQ's as they get serviced immediately without
being penalized by sharing an EQ with a more loaded CQ.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v3:
and their behaviors.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
---
v2: access_ok() arg list reduce to match kernel api change
---
drivers/scsi/lpfc/lpfc.h | 26 +-
drivers/scsi/lpfc/lpfc_attr.c| 9 +
drivers/scsi/lpfc/lpfc_crtn.h| 16 +
drivers/scsi/lpfc/lpfc_debu
I can continue
to allow NPIV support.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 3 ++-
drivers/scsi/lpfc/lpfc_attr.c | 4 ++--
drivers/scsi/lpfc/lpfc_ct.c| 16
drivers/scsi
val. Commonized lock handling around the abort processing routines.
Prevent context release while still in ABTS list.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_nvmet.c | 50 +++---
1 file changed,
pci_irq_vector() usage.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_init.c | 162 --
1 file changed, 13 insertions(+), 149 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers
new cmd lock. Ensure all flag
changing and nulling of context pointers taken under lock.
When adding lock to task management abort, realized it was
missing other synchronization locks. Added that synchronization
to match normal paths.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
The work done to date utilized the number of present cpus when
sizing per-cpu structures. Structures should have been sized based
on the max possible cpu count.
Convert the driver over to possible cpu count for sizing allocation.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed
relationships with the per-cpu
hardware queues so they can function independently. MSIX vectors
will be equitably split been cpu sockets/cores and then the
per-cpu hardware queues will be mapped to the vectors most
efficient for them.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by
Now that performance mods don't split resources by protocol and
enable both protocols by default, there's no reason not to enable
concurrent SCSI and NVME fc4 support.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_
.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 1 +
drivers/scsi/lpfc/lpfc_nvmet.c | 247 ++---
drivers/scsi/lpfc/lpfc_nvmet.h | 1 +
3 files changed, 137 insertions(+), 112
max applies to a single
cpu and the value will be replicated to all cpus.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_attr.c | 8 ++-
drivers/scsi/lpfc/lpfc_init.c | 9 ++-
drivers/scsi/lpfc/lpfc_sli.c |
On 1/26/2019 1:16 AM, Hannes Reinecke wrote:
+ } else
+ shost->nr_hw_queues = 1;
/*
* Set initial can_queue value since 0 is no longer supported and
Why do you restrict full mq support to SLE-4?
The original code seems to imply that older revisions would be able to
do mq
On 1/26/2019 1:43 AM, Hannes Reinecke wrote:
Hmm. Wouldn't it be better here to set lpfc_ncmd->nvmeCmd to NULL first,
then release the lock, and _then_ call nCmd->done()?
With the current code there might be a risk of accidental command
starvation, as ->done() is called before the command itself
Tweaked patch 17 to do auto-eq-delays only if ganging up on a cpu.
V4:
patch 11: add comment per review
patch 21: unlock before io done() calls per review
James Smart (26):
lpfc: cleanup: remove nrport from nvme command structure
lpfc: cleanup: Remove excess check on NVME io submit code p
lpfc_nvme_prep_io_cmd() checks for null pnode, but caller
lpfc_nvme_fcp_io_submit() has already ensured it's non-null.
remove the pnode null check
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_nvme.c | 2 +-
1 file chang
For files modifed as part of 12.2.0.0 patches, update
copyright to 2019
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc.h | 2 +-
drivers/scsi/lpfc/lpfc_attr.c | 2 +-
drivers/scsi/lpfc/lpfc_crtn.h | 2
But the fc discovery node pointer is alrady in the
command structure so the dereferrence was unnecessary.
Eliminated the nrport structure member and its use, which also
eliminates the port-wide lock.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers
or hardware queue
resources could not scale to the cpu count).
Correct the queue affinitization logic, when queue count is less than
cpu count.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Hannes Reinecke
---
drivers/scsi/lpfc/lpfc_attr.c | 38
701 - 800 of 1847 matches
Mail list logo