• James Smart's avatar
    nvmet_fc: add target feature flags for upcall isr contexts · 39498fae
    James Smart authored
    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: default avatarJames Smart <james.smart@broadcom.com>
    Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
    39498fae
fc.c 58.6 KB