- To: "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx>
- Subject: Re: [PATCH 07/17] hpsa: do not give up retry of driver cmds after only 3 retries
- From: Andi Shyti <andi.shyti@xxxxxxxxx>
- Date: Tue, 1 May 2012 19:26:34 +0200
- Cc: james.bottomley@xxxxxxxxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, stephenmcameron@xxxxxxxxx, thenzl@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, mikem@xxxxxxxxxxxxxxxxxx
- In-reply-to: <20120501164240.11705.10308.stgit@beardog.cce.hp.com>
- Mail-followup-to: "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx>, james.bottomley@xxxxxxxxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, stephenmcameron@xxxxxxxxx, thenzl@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, mikem@xxxxxxxxxxxxxxxxxx
Hi,
> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -1380,17 +1380,24 @@ static void hpsa_scsi_do_simple_cmd_core_if_no_lockup(struct ctlr_info *h,
> }
> }
>
> +#define MAX_DRIVER_CMD_RETRIES 25
> static void hpsa_scsi_do_simple_cmd_with_retry(struct ctlr_info *h,
> struct CommandList *c, int data_direction)
> {
> - int retry_count = 0;
> + int backoff_time = 10, retry_count = 0;
>
> do {
> memset(c->err_info, 0, sizeof(*c->err_info));
> hpsa_scsi_do_simple_cmd_core(h, c);
> retry_count++;
> + if (retry_count > 3) {
> + msleep(backoff_time);
for 10ms isn't it better to avoid using msleep?
Andi
> + if (backoff_time < 1000)
> + backoff_time *= 2;
> + }
> } while ((check_for_unit_attention(h, c) ||
> - check_for_busy(h, c)) && retry_count <= 3);
> + check_for_busy(h, c)) &&
> + retry_count <= MAX_DRIVER_CMD_RETRIES);
> hpsa_pci_unmap(h->pdev, c, 1, data_direction);
> }
--
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
[SCSI Target Devel]
[Linux SCSI Target Infrastructure]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photos]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Linux IIO]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]