nvmet-fc: remove target cpu scheduling flag
authorJames Smart <jsmart2021@gmail.com>
Tue, 25 Apr 2017 23:23:09 +0000 (16:23 -0700)
committerJens Axboe <axboe@fb.com>
Sat, 20 May 2017 16:11:34 +0000 (10:11 -0600)
Remove NVMET_FCTGTFEAT_NEEDS_CMD_CPUSCHED. It's unnecessary.

Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/target/fc.c
drivers/nvme/target/fcloop.c
drivers/scsi/lpfc/lpfc_nvmet.c
include/linux/nvme-fc-driver.h

index 62eba29c85fb9b5101d4a974a9392dbb2e71c72d..2006fae61980643d2c42f4d34926aaa11f5f05bc 100644 (file)
@@ -517,9 +517,7 @@ nvmet_fc_queue_to_cpu(struct nvmet_fc_tgtport *tgtport, int qid)
 {
        int cpu, idx, cnt;
 
-       if (!(tgtport->ops->target_features &
-                       NVMET_FCTGTFEAT_NEEDS_CMD_CPUSCHED) ||
-           tgtport->ops->max_hw_queues == 1)
+       if (tgtport->ops->max_hw_queues == 1)
                return WORK_CPU_UNBOUND;
 
        /* Simple cpu selection based on qid modulo active cpu count */
index 15551ef79c8c4568a6f611b6e9ba9d736127825b..294a6611fb249164e8d321147823e708cfe8a1d1 100644 (file)
@@ -698,7 +698,6 @@ static struct nvmet_fc_target_template tgttemplate = {
        .dma_boundary           = FCLOOP_DMABOUND_4G,
        /* optional features */
        .target_features        = NVMET_FCTGTFEAT_CMD_IN_ISR |
-                                 NVMET_FCTGTFEAT_NEEDS_CMD_CPUSCHED |
                                  NVMET_FCTGTFEAT_OPDONE_IN_ISR,
        /* sizes of additional private data for data structures */
        .target_priv_sz         = sizeof(struct fcloop_tport),
index 94434e621c335e678ad2aa1c3301b967cb15a210..0488580eea12eecd0c2767bc6ad5c11a014ac46d 100644 (file)
@@ -764,7 +764,6 @@ lpfc_nvmet_create_targetport(struct lpfc_hba *phba)
        lpfc_tgttemplate.max_sgl_segments = phba->cfg_nvme_seg_cnt + 1;
        lpfc_tgttemplate.max_hw_queues = phba->cfg_nvme_io_channel;
        lpfc_tgttemplate.target_features = NVMET_FCTGTFEAT_READDATA_RSP |
-                                          NVMET_FCTGTFEAT_NEEDS_CMD_CPUSCHED |
                                           NVMET_FCTGTFEAT_CMD_IN_ISR |
                                           NVMET_FCTGTFEAT_OPDONE_IN_ISR;
 
index 12e344b5b77fe7bd1141cb55471fb9ba3bae66ce..6c8c5d8041b72ec01097d1c0563b793ea7449f1f 100644 (file)
@@ -642,15 +642,7 @@ enum {
                 * sequence in one LLDD operation. Errors during Data
                 * sequence transmit must not allow RSP sequence to be sent.
                 */
-       NVMET_FCTGTFEAT_NEEDS_CMD_CPUSCHED = (1 << 1),
-               /* Bit 1: When 0, the LLDD will deliver FCP CMD
-                * on the CPU it should be affinitized to. Thus work will
-                * be scheduled on the cpu received on. When 1, the LLDD
-                * may not deliver the CMD on the CPU it should be worked
-                * on. The transport should pick a cpu to schedule the work
-                * on.
-                */
-       NVMET_FCTGTFEAT_CMD_IN_ISR = (1 << 2),
+       NVMET_FCTGTFEAT_CMD_IN_ISR = (1 << 1),
                /* Bit 2: When 0, the LLDD is calling the cmd rcv handler
                 * in a non-isr context, allowing the transport to finish
                 * op completion in the calling context. When 1, the LLDD
@@ -658,7 +650,7 @@ enum {
                 * requiring the transport to transition to a workqueue
                 * for op completion.
                 */
-       NVMET_FCTGTFEAT_OPDONE_IN_ISR = (1 << 3),
+       NVMET_FCTGTFEAT_OPDONE_IN_ISR = (1 << 2),
                /* Bit 3: When 0, the LLDD is calling the op done handler
                 * in a non-isr context, allowing the transport to finish
                 * op completion in the calling context. When 1, the LLDD