From owner-freebsd-scsi@FreeBSD.ORG Tue Sep 26 16:00:47 2006 Return-Path: X-Original-To: scsi@freebsd.org Delivered-To: freebsd-scsi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE15516A49E for ; Tue, 26 Sep 2006 16:00:47 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from ns1.feral.com (ns1.feral.com [192.67.166.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id A581D43D45 for ; Tue, 26 Sep 2006 16:00:46 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from ns1.feral.com (localhost [127.0.0.1]) by ns1.feral.com (8.13.8/8.13.8) with ESMTP id k8QG0kCh098086 for ; Tue, 26 Sep 2006 09:00:46 -0700 (PDT) (envelope-from mjacob@freebsd.org) Received: from localhost (mjacob@localhost) by ns1.feral.com (8.13.8/8.13.8/Submit) with ESMTP id k8QG0k7F098083 for ; Tue, 26 Sep 2006 09:00:46 -0700 (PDT) (envelope-from mjacob@freebsd.org) X-Authentication-Warning: ns1.feral.com: mjacob owned process doing -bs Date: Tue, 26 Sep 2006 09:00:45 -0700 (PDT) From: mjacob@freebsd.org X-X-Sender: mjacob@ns1.feral.com To: scsi@freebsd.org Message-ID: <20060926085839.Q98053@ns1.feral.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Subject: hysteresis for CAM_RESRC_UNAVAIL X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: mjacob@freebsd.org List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Sep 2006 16:00:47 -0000 This showed up on one of the lists- we just retrt BUSY and CAM_RESRC_UNAVAIL right away. Below is a patch where I added a half second delay between retries. Does this seem okay and/or should it be longer delays as the timeout count goes down? Should BUSY be included? Index: cam_periph.c =================================================================== RCS file: /home/ncvs/src/sys/cam/cam_periph.c,v retrieving revision 1.62 diff -u -r1.62 cam_periph.c --- cam_periph.c 24 May 2006 15:22:21 -0000 1.62 +++ cam_periph.c 26 Sep 2006 15:54:52 -0000 @@ -1699,6 +1699,12 @@ } break; case CAM_RESRC_UNAVAIL: + /* + * Wait a half second for the resource shortage to abate. + */ + relsim_flags = RELSIM_RELEASE_AFTER_TIMEOUT; + timeout = 500; + /* FALLTHROUGH */ case CAM_BUSY: /* timeout??? */ default: