All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/21] ibmvfc: initial MQ development
@ 2021-01-11 23:12 ` Tyrel Datwyler
  0 siblings, 0 replies; 64+ messages in thread
From: Tyrel Datwyler @ 2021-01-11 23:12 UTC (permalink / raw)
  To: james.bottomley
  Cc: martin.petersen, linux-scsi, linuxppc-dev, linux-kernel, brking,
	Tyrel Datwyler

Recent updates in pHyp Firmware and VIOS releases provide new infrastructure
towards enabling Subordinate Command Response Queues (Sub-CRQs) such that each
Sub-CRQ is a channel backed by an actual hardware queue in the FC stack on the
partner VIOS. Sub-CRQs are registered with the firmware via hypercalls and then
negotiated with the VIOS via new Management Datagrams (MADs) for channel setup.

This initial implementation adds the necessary Sub-CRQ framework and implements
the new MADs for negotiating and assigning a set of Sub-CRQs to associated VIOS
HW backed channels.

This latest series is completely rebased and reimplemented on top of the recent
("ibmvfc: MQ prepartory locking work") series. [1]

[1] https://lore.kernel.org/linux-scsi/20210106201835.1053593-1-tyreld@linux.ibm.com/

changes in v4:
* Series rebased and reworked on top of previous ibmvfc locking series
* Dropped all previous Reviewed-by tags

changes in v3:
* Patch 4: changed firmware support logging to dev_warn_once
* Patch 6: adjusted locking
* Patch 15: dropped logging verbosity, moved cancel event tracking into subqueue
* Patch 17: removed write permission for migration module parameters
	    drive hard reset after update to num of scsi channels

changes in v2:
* Patch 4: NULL'd scsi_scrq reference after deallocation
* Patch 6: Added switch case to handle XPORT event
* Patch 9: fixed ibmvfc_event leak and double free
* added support for cancel command with MQ
* added parameter toggles for MQ settings

Tyrel Datwyler (21):
  ibmvfc: add vhost fields and defaults for MQ enablement
  ibmvfc: move event pool init/free routines
  ibmvfc: init/free event pool during queue allocation/free
  ibmvfc: add size parameter to ibmvfc_init_event_pool
  ibmvfc: define hcall wrapper for registering a Sub-CRQ
  ibmvfc: add Subordinate CRQ definitions
  ibmvfc: add alloc/dealloc routines for SCSI Sub-CRQ Channels
  ibmvfc: add Sub-CRQ IRQ enable/disable routine
  ibmvfc: add handlers to drain and complete Sub-CRQ responses
  ibmvfc: define Sub-CRQ interrupt handler routine
  ibmvfc: map/request irq and register Sub-CRQ interrupt handler
  ibmvfc: implement channel enquiry and setup commands
  ibmvfc: advertise client support for using hardware channels
  ibmvfc: set and track hw queue in ibmvfc_event struct
  ibmvfc: send commands down HW Sub-CRQ when channelized
  ibmvfc: register Sub-CRQ handles with VIOS during channel setup
  ibmvfc: add cancel mad initialization helper
  ibmvfc: send Cancel MAD down each hw scsi channel
  ibmvfc: purge scsi channels after transport loss/reset
  ibmvfc: enable MQ and set reasonable defaults
  ibmvfc: provide modules parameters for MQ settings

 drivers/scsi/ibmvscsi/ibmvfc.c | 914 ++++++++++++++++++++++++++++-----
 drivers/scsi/ibmvscsi/ibmvfc.h |  38 ++
 2 files changed, 824 insertions(+), 128 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 64+ messages in thread

end of thread, other threads:[~2021-01-15  1:51 UTC | newest]

Thread overview: 64+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-11 23:12 [PATCH v4 00/21] ibmvfc: initial MQ development Tyrel Datwyler
2021-01-11 23:12 ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 01/21] ibmvfc: add vhost fields and defaults for MQ enablement Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-12 11:43   ` John Garry
2021-01-12 11:43     ` John Garry
2021-01-12 22:54   ` Brian King
2021-01-12 22:54     ` Brian King
2021-01-13  0:33     ` Tyrel Datwyler
2021-01-13  0:33       ` Tyrel Datwyler
2021-01-13 17:13       ` Brian King
2021-01-13 17:13         ` Brian King
2021-01-14  1:27         ` Ming Lei
2021-01-14  1:27           ` Ming Lei
2021-01-14 17:24           ` Brian King
2021-01-14 17:24             ` Brian King
2021-01-15  1:47             ` Ming Lei
2021-01-15  1:47               ` Ming Lei
2021-01-11 23:12 ` [PATCH v4 02/21] ibmvfc: move event pool init/free routines Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 03/21] ibmvfc: init/free event pool during queue allocation/free Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 04/21] ibmvfc: add size parameter to ibmvfc_init_event_pool Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 05/21] ibmvfc: define hcall wrapper for registering a Sub-CRQ Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 06/21] ibmvfc: add Subordinate CRQ definitions Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 07/21] ibmvfc: add alloc/dealloc routines for SCSI Sub-CRQ Channels Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 08/21] ibmvfc: add Sub-CRQ IRQ enable/disable routine Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 09/21] ibmvfc: add handlers to drain and complete Sub-CRQ responses Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 10/21] ibmvfc: define Sub-CRQ interrupt handler routine Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 11/21] ibmvfc: map/request irq and register Sub-CRQ interrupt handler Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 12/21] ibmvfc: implement channel enquiry and setup commands Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 13/21] ibmvfc: advertise client support for using hardware channels Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 14/21] ibmvfc: set and track hw queue in ibmvfc_event struct Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 15/21] ibmvfc: send commands down HW Sub-CRQ when channelized Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 16/21] ibmvfc: register Sub-CRQ handles with VIOS during channel setup Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 17/21] ibmvfc: add cancel mad initialization helper Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 18/21] ibmvfc: send Cancel MAD down each hw scsi channel Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-12 21:46   ` Brian King
2021-01-12 21:46     ` Brian King
2021-01-11 23:12 ` [PATCH v4 19/21] ibmvfc: purge scsi channels after transport loss/reset Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 20/21] ibmvfc: enable MQ and set reasonable defaults Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-11 23:12 ` [PATCH v4 21/21] ibmvfc: provide modules parameters for MQ settings Tyrel Datwyler
2021-01-11 23:12   ` Tyrel Datwyler
2021-01-13 18:57   ` Brian King
2021-01-13 18:57     ` Brian King
2021-01-13 18:58 ` [PATCH v4 00/21] ibmvfc: initial MQ development Brian King
2021-01-13 18:58   ` Brian King

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.