[PATCH 2/7] blk-mq: add helper to iterate all busy tags on all hardware queues

2015-04-03 Thread Jens Axboe
The current iter helper function deals with a hardware queue. Some callers want to access all queues, like the internal blk-mq timeout handling does. So add a helper for that. Signed-off-by: Jens Axboe ax...@fb.com --- block/blk-mq.c | 35 +++

[PATCH 1/7] blk-mq: allow the callback to blk_mq_tag_busy_iter() to stop looping

2015-04-03 Thread Jens Axboe
Currently blk_mq_tag_busy_iter() loops all busy tags for a given hardware queue. But sometimes we are looking for a specific request, and when we find it, we don't have to keep looking over the rest of them. Change the busy_iter_fn callback to return a bool, where a true return will break out of

[PATCH 6/7] mpt2sas: store scsi io tracker data in the scsi command / request

2015-04-03 Thread Jens Axboe
Instead of storing the IO tracker structure in a separate list that we need to pop/push to on every submit and complete (and lock), store it in the pdu associated with a request. This is possible on scsi-mq only, and further cuts the spinlock associated time for higher IOPS IO workloads. At 100K

[PATCH 7/7] mpt3sas: store scsi io tracker data in the scsi command / request

2015-04-03 Thread Jens Axboe
Instead of storing the IO tracker structure in a separate list that we need to pop/push to on every submit and complete (and lock), store it in the pdu associated with a request. This is possible on scsi-mq only, and further cuts the spinlock associated time for higher IOPS IO workloads. At 100K

[PATCH RFC] mpt2/mpt3sas lock reduction for scsi-mq

2015-04-03 Thread Jens Axboe
Hi, There's some low hanging fruit in the lsi mpt drivers for further lock reduction, when running in scsi-mq mode. For each IO, they have to lock/{get,put}/unlock a scsiio_tracker structure that is associated with the IO. In scsi-mq mode, we can ask for some payload for each command, so we don't

[PATCH 5/7] scsi: add host template init/exit_command hooks

2015-04-03 Thread Jens Axboe
If a LLD has hardware commands in the request pdu, then we need some helper hooks to help the driver initialize state at load time, and potentially to tear down state at rmmod time. Add a host template -init_command() and -exit_command() hook to help with that. Signed-off-by: Jens Axboe

[PATCH 3/7] scsi: add scsi-mq helpers to retrieve pdu and check started state

2015-04-03 Thread Jens Axboe
scsi_mq_scmd_to_pdu() returns the LLD pdu associated with a struct scsi_cmnd. scsi_mq_scmd_start() returns whether or not a given scsi command has been started or not. Signed-off-by: Jens Axboe ax...@fb.com --- include/scsi/scsi_cmnd.h | 11 +++ 1 file changed, 11 insertions(+) diff

[PATCH 4/7] scsi: add scsi-mq helper for iterating over busy commands

2015-04-03 Thread Jens Axboe
This is basically just a wrapper around blk_mq_queue_busy_iter(), so that LLDs don't have to deal with or worry about blk-mq hardware queues. Signed-off-by: Jens Axboe ax...@fb.com --- drivers/scsi/scsi_lib.c| 25 + include/scsi/scsi_device.h | 3 +++ 2 files

LPC2015: File and Storage Systems uconf

2015-04-03 Thread Darrick J. Wong
Hi everyone, Linux Plumbers is coming up in just four months! I would like for there to be a file storage miniconf at this year's LPC, so I've started assembling a plan for what we might discuss. As a starting point, I've filled the planning page with the topics that didn't achieve any sort of

[PATCH 09/21] lpfc: Parse the new 20G, 25G and 40G link speeds in the lpfc driver

2015-04-03 Thread James Smart
Parse the new 20G, 25G and 40G link speeds in the lpfc driver This patch is dependent upon the following patch to the FC transport which adds the 25G speed: http://www.spinics.net/lists/linux-scsi/msg83840.html Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart

[PATCH 08/21] lpfc: Add support for reporting option_rom_version on newer adapters

2015-04-03 Thread James Smart
Add support for reporting option_rom_version on newer adapters Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_attr.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git

[PATCH 13/21] lpfc: Initiator sends wrong BBCredit value for either FLOGI or FLOGI_ACC

2015-04-03 Thread James Smart
Initiator sends wrong BBCredit value for either FLOGI or FLOGI_ACC Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_els.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_els.c

[PATCH 14/21] lpfc: Fix premature release of rpi bit in bitmask

2015-04-03 Thread James Smart
Fix premature release of rpi bit in bitmask Currently, the driver plays off the fact that older sli4 adapters have a different rpi access pattern that allowed for the rpi reference to be released earlier in the teardown sequence, allowing the driver to recycle the rpi value sooner. Newer sli4

[PATCH 15/21] lpfc: Implement support for wire-only DIF devices

2015-04-03 Thread James Smart
Implement support for wire-only DIF devices This patch adds the ability to support auto-enablement of wire-only DIF (DIF is generated on TX to target, stripped on RX; OS unaware DIF in use) for a select set of devices. Currently, there is only 1 device vendor supported: 3PARdata. When the feature

[PATCH 16/21] lpfc: Fix internal loopback failure.

2015-04-03 Thread James Smart
Fix internal loopback failure. Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_els.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_els.c

[PATCH 17/21] lpfc: Fix OS crash when running loopback test in applications

2015-04-03 Thread James Smart
Fix OS crash when running loopback test in applications Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_bsg.c | 1 + drivers/scsi/lpfc/lpfc_sli.c | 12 drivers/scsi/lpfc/lpfc_sli.h | 1 + 3 files

[PATCH 21/21] lpfc: Update version to 10.5.0.0 for upstream patch set

2015-04-03 Thread James Smart
Update version to 10.5.0.0 for upstream patch set Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_version.h

[PATCH 19/21] lpfc: Fix for lun discovery issue with saturn adapter.

2015-04-03 Thread James Smart
Fix for lun discovery issue with saturn adapter. FCP_CMD payload was not always properly initialized on SLI-3 devices. Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_scsi.c | 41

[PATCH 20/21] lpfc: Update copyright to 2015

2015-04-03 Thread James Smart
Update copyright to 2015 Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc.h | 2 +- drivers/scsi/lpfc/lpfc_attr.c | 2 +- drivers/scsi/lpfc/lpfc_bsg.c | 2 +- drivers/scsi/lpfc/lpfc_bsg.h |

[PATCH 12/21] lpfc: Fix null ndlp dereference in target_reset_handler

2015-04-03 Thread James Smart
Fix null ndlp dereference in target_reset_handler Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_scsi.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_scsi.c

[PATCH 10/21] lpfc: Fix provide host name and OS name in RSNN-NN FC-GS command

2015-04-03 Thread James Smart
Fix provide host name and OS name in RSNN-NN FC-GS command Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_ct.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git

[PATCH 07/21] lpfc: Fix setting of EQ (interrupt) delay Multiplier

2015-04-03 Thread James Smart
Fix setting of EQ (interrupt) delay Multiplier Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_init.c | 8 drivers/scsi/lpfc/lpfc_sli.c | 9 +++-- drivers/scsi/lpfc/lpfc_sli4.h | 2 +- 3 files changed,

[PATCH 11/21] lpfc: Fix FDMI Fabric support in driver for Brocade

2015-04-03 Thread James Smart
Fix FDMI Fabric support in driver for Brocade Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc.h | 3 + drivers/scsi/lpfc/lpfc_attr.c| 16 +- drivers/scsi/lpfc/lpfc_ct.c | 715

[PATCH 02/21] lpfc: Add Lancer Temperature Event support to the lpfc driver

2015-04-03 Thread James Smart
Add Lancer Temperature Event support to the lpfc driver This will detect and send an async event if overtemp is detected Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_hw4.h | 1 + drivers/scsi/lpfc/lpfc_init.c

[PATCH 05/21] lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002

2015-04-03 Thread James Smart
Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002 Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_els.c | 3 +-- drivers/scsi/lpfc/lpfc_hbadisc.c | 6 ++ 2 files changed, 3

[PATCH 04/21] lpfc: Fix to handle PLOGI when already logged in

2015-04-03 Thread James Smart
Fix to handle PLOGI when already logged in Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_nportdisc.c | 27 --- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git

[PATCH 00/21] lpfc: V2: Update lpfc version to driver version 10.5.0.0

2015-04-03 Thread James Smart
This patch set updates the lpfc driver to revision 10.5.0.0 The patches were cut against Christoph's scsi-queue.git, branch drivers-for-3.20. The patches have been recut with the signed-by's reordered and comments added on some patches. Patch 9 and 10 have minor 1 line changes per comments from

[PATCH 03/21] lpfc: Add new mbx cmd recognition

2015-04-03 Thread James Smart
Add new mbx cmd recognition Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_bsg.c | 1 + drivers/scsi/lpfc/lpfc_bsg.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/scsi/lpfc/lpfc_bsg.c

[PATCH 06/21] lpfc: Fix host reset escalation killing all IOs.

2015-04-03 Thread James Smart
Fix host reset escalation killing all IOs. SLI-3 adapters will use a new host template. The template differs from SLI-4 adapters in that it does not have an eh_host_reset_handler. Lpfc has traditionally never had a host_reset. The host reset handler was added when we ran into a stuck hardware

[PATCH 01/21] lpfc: Fix the iteration count to match the 30 sec comment in the routine lpfc_pci_function_reset

2015-04-03 Thread James Smart
Fix the iteration count to match the 30 sec comment in the routine lpfc_pci_function_reset Signed-off-by: Dick Kennedy dick.kenn...@emulex.com Signed-off-by: James Smart james.sm...@emulex.com --- drivers/scsi/lpfc/lpfc_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git