Re: [PATCH] megaraid_sas: use raw_smp_processor_id()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 15, 2015 at 9:44 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> 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@xxxxxx>
> Reported-by: Andy Lutomirski <luto@xxxxxxxxxx>
> Tested-by: Andy Lutomirski <luto@xxxxxxxxxx>
> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx>

Cc: stable?

>
> diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
> index 675b5e7..5a0800d 100644
> --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
> +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
> @@ -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 &&



-- 
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux