> -----Original Message----- > From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Rob Evers > Sent: Friday, May 18, 2012 1:09 PM > To: linux-scsi@xxxxxxxxxxxxxxx > Subject: [PATCH 3/3 V2] alua: backoff alua rtpg retry linearly vs. geometrically > > Currently the backoff algorithm for when to retry alua rtpg > requests progresses geometrically as so: > > 2, 4, 8, 16, 32, 64... seconds. > > This progression can lead to un-needed delay in retrying > alua rtpg requests when the rtpgs are delayed. A less > aggressive backoff algorithm that is additive would not > lead to such large jumps when delays start getting long, but > would backoff linearly: > > 2, 4, 6, 8, 10... seconds. > > Signed-off-by: Martin George <marting@xxxxxxxxxx> > Signed-off-by: Rob Evers <revers@xxxxxxxxxx> Reviewed-by: Babu Moger <babu.moger@xxxxxxxxxx> > --- > drivers/scsi/device_handler/scsi_dh_alua.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c > b/drivers/scsi/device_handler/scsi_dh_alua.c > index 51d8cf6..7eb9dea 100644 > --- a/drivers/scsi/device_handler/scsi_dh_alua.c > +++ b/drivers/scsi/device_handler/scsi_dh_alua.c > @@ -522,7 +522,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct > alua_dh_data *h) > unsigned char *ucp; > unsigned err; > bool rtpg_ext_hdr_req = 1; > - unsigned long expiry, interval = 1000; > + unsigned long expiry, interval = 0; > unsigned int tpg_desc_tbl_off; > unsigned char orig_transition_tmo; > > @@ -625,7 +625,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct > alua_dh_data *h) > case TPGS_STATE_TRANSITIONING: > if (time_before(jiffies, expiry)) { > /* State transition, retry */ > - interval *= 2; > + interval += 2000; > msleep(interval); > goto retry; > } > -- > 1.7.7.2 > > -- > 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 -- 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