megaraid_sas: use raw_smp_processor_id()
authorChristoph Hellwig <hch@infradead.org>
Wed, 15 Apr 2015 16:44:37 +0000 (09:44 -0700)
committerJames Bottomley <JBottomley@Odin.com>
Thu, 16 Apr 2015 17:37:58 +0000 (10:37 -0700)
We only want to steer the I/O completion towards a queue, but don't
actually access any per-CPU data, so the raw_ version is fine to use
and avoids the warnings when using smp_processor_id().

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Andy Lutomirski <luto@kernel.org>
Tested-by: Andy Lutomirski <luto@kernel.org>
Acked-by: Sumit Saxena <sumit.saxena@avagotech.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/megaraid/megaraid_sas_fusion.c

index 675b5e7..5a0800d 100644 (file)
@@ -1584,11 +1584,11 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
                        fp_possible = io_info.fpOkForIo;
        }
 
-       /* Use smp_processor_id() for now until cmd->request->cpu is CPU
+       /* Use raw_smp_processor_id() for now until cmd->request->cpu is CPU
           id by default, not CPU group id, otherwise all MSI-X queues won't
           be utilized */
        cmd->request_desc->SCSIIO.MSIxIndex = instance->msix_vectors ?
-               smp_processor_id() % instance->msix_vectors : 0;
+               raw_smp_processor_id() % instance->msix_vectors : 0;
 
        if (fp_possible) {
                megasas_set_pd_lba(io_request, scp->cmd_len, &io_info, scp,
@@ -1693,7 +1693,10 @@ megasas_build_dcdb_fusion(struct megasas_instance *instance,
                        << MR_RAID_CTX_RAID_FLAGS_IO_SUB_TYPE_SHIFT;
                cmd->request_desc->SCSIIO.DevHandle = io_request->DevHandle;
                cmd->request_desc->SCSIIO.MSIxIndex =
-                       instance->msix_vectors ? smp_processor_id() % instance->msix_vectors : 0;
+                       instance->msix_vectors ?
+                               raw_smp_processor_id() %
+                                       instance->msix_vectors :
+                               0;
                os_timeout_value = scmd->request->timeout / HZ;
 
                if (instance->secure_jbod_support &&