lkml.org 
[lkml]   [2016]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V4 09/11] megaraid_sas: ldio_outstanding variable is not decremented in completion path
    Date
    ldio outstanding variable needs to be decremented in io completion path for
    iMR dual queue depth

    This patch is depending on patch 8

    Signed-off-by: Sasikumar Chandrasekaran <sasikumar.pc@broadcom.com>
    ---
    drivers/scsi/megaraid/megaraid_sas_fusion.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
    index 5992153..3598590 100644
    --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
    +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
    @@ -2584,7 +2584,6 @@ void megasas_prepare_secondRaid1_IO(struct megasas_instance *instance,

    if (atomic_inc_return(&instance->fw_outstanding) >
    instance->host->can_queue) {
    - dev_err(&instance->pdev->dev, "Throttle IOs beyond Controller queue depth\n");
    atomic_dec(&instance->fw_outstanding);
    return SCSI_MLQUEUE_HOST_BUSY;
    }
    @@ -2818,6 +2817,10 @@ void megasas_prepare_secondRaid1_IO(struct megasas_instance *instance,
    = 0;
    scsi_io_req->RaidContext.raid_context.ex_status
    = 0;
    + if (instance->ldio_threshold
    + && megasas_cmd_type(scmd_local)
    + == READ_WRITE_LDIO)
    + atomic_dec(&instance->ldio_outstanding);
    megasas_return_cmd_fusion(instance, cmd_fusion);
    scsi_dma_unmap(scmd_local);
    scmd_local->scsi_done(scmd_local);
    @@ -3966,7 +3969,9 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason)
    scmd_local->result =
    megasas_check_mpio_paths(instance,
    scmd_local);
    - if (megasas_cmd_type(scmd_local) == READ_WRITE_LDIO)
    + if (instance->ldio_threshold &&
    + megasas_cmd_type(scmd_local)
    + == READ_WRITE_LDIO)
    atomic_dec(&instance->ldio_outstanding);
    megasas_return_cmd_fusion(instance, cmd_fusion);
    scsi_dma_unmap(scmd_local);
    --
    1.8.3.1
    \
     
     \ /
      Last update: 2016-12-07 00:01    [W:4.185 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site