]> git.baikalelectronics.ru Git - kernel.git/commit
nvmet_fc: add target feature flags for upcall isr contexts
authorJames Smart <jsmart2021@gmail.com>
Tue, 11 Apr 2017 18:32:28 +0000 (11:32 -0700)
committerChristoph Hellwig <hch@lst.de>
Fri, 21 Apr 2017 14:41:48 +0000 (16:41 +0200)
commit3ee28bda61ea3d80f3e07a4f819c5ca8db3d9096
tree7b464f57fa4b1314c3f874f246864b8a9ce6ab4d
parent89acd56af3bfceb4f5e3a60f8dedb973dcae9f6d
nvmet_fc: add target feature flags for upcall isr contexts

Two new feature flags were added to control whether upcalls to the
transport result in context switches or stay in the calling context.

NVMET_FCTGTFEAT_CMD_IN_ISR:
  By default, if the flag is not set, the transport assumes the
  lldd is in a non-isr context and in the cpu context it should be
  for the io queue. As such, the cmd handler is called directly in the
  calling context.
  If the flag is set, indicating the upcall is an isr context, the
  transport mandates a transition to a workqueue. The workqueue assigned
  to the queue is used for the context.
NVMET_FCTGTFEAT_OPDONE_IN_ISR
  By default, if the flag is not set, the transport assumes the
  lldd is in a non-isr context and in the cpu context it should be
  for the io queue. As such, the fcp operation done callback is called
  directly in the calling context.
  If the flag is set, indicating the upcall is an isr context, the
  transport mandates a transition to a workqueue. The workqueue assigned
  to the queue is used for the context.

Updated lpfc for flags

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/target/fc.c
drivers/nvme/target/fcloop.c
drivers/scsi/lpfc/lpfc_nvmet.c
include/linux/nvme-fc-driver.h