lkml.org 
[lkml]   [2012]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 07/17] hpsa: do not give up retry of driver cmds after only 3 retries
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);
> }


\
 
 \ /
  Last update: 2012-05-01 19:41    [from the cache]
©2003-2011 Jasper Spaans