From owner-freebsd-hackers@FreeBSD.ORG Mon Apr 11 01:59:27 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20DEF1065679 for ; Mon, 11 Apr 2011 01:59:27 +0000 (UTC) (envelope-from dieterbsd@engineer.com) Received: from imr-ma01.mx.aol.com (imr-ma01.mx.aol.com [64.12.206.39]) by mx1.freebsd.org (Postfix) with ESMTP id D576B8FC15 for ; Mon, 11 Apr 2011 01:59:26 +0000 (UTC) Received: from imo-ma03.mx.aol.com (imo-ma03.mx.aol.com [64.12.78.138]) by imr-ma01.mx.aol.com (8.14.1/8.14.1) with ESMTP id p3B1xKER010455; Sun, 10 Apr 2011 21:59:20 -0400 Received: from dieterbsd@engineer.com by imo-ma03.mx.aol.com (mail_out_v42.9.) id n.e78.9e811b2 (44228); Sun, 10 Apr 2011 21:59:18 -0400 (EDT) Received: from smtprly-dc01.mx.aol.com (smtprly-dc01.mx.aol.com [205.188.170.1]) by cia-dd08.mx.aol.com (v129.9) with ESMTP id MAILCIADD086-d1c24da260711c5; Sun, 10 Apr 2011 21:59:16 -0400 Received: from web-mmc-m02 (web-mmc-m02.sim.aol.com [64.12.224.135]) by smtprly-dc01.mx.aol.com (v129.9) with ESMTP id MAILSMTPRLYDC013-d1c24da260711c5; Sun, 10 Apr 2011 21:59:13 -0400 To: freebsd-hackers@freebsd.org, freebsd-drivers@freebsd.org Content-Transfer-Encoding: quoted-printable Date: Sun, 10 Apr 2011 21:59:13 -0400 X-MB-Message-Source: WebUI X-AOL-IP: 67.206.163.145 X-MB-Message-Type: User MIME-Version: 1.0 From: dieterbsd@engineer.com Content-Type: text/plain; charset="us-ascii" X-Mailer: Mail.com Webmail 33490-STANDARD Received: from 67.206.163.145 by web-mmc-m02.sysops.aol.com (64.12.224.135) with HTTP (WebMailUI); Sun, 10 Apr 2011 21:59:13 -0400 Message-Id: <8CDC60330838A41-18FC-694F@web-mmc-m02.sysops.aol.com> X-Spam-Flag: NO X-AOL-SENDER: dieterbsd@engineer.com Cc: Subject: Need an alternative to DELAY() X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2011 01:59:27 -0000 FreeBSD 8.2 amd64 uniprocessor kernel: siisch1: DISCONNECT requested kernel: siisch1: SIIS reset... kernel: siisch1: siis_sata_connect() calling DELAY(1000) last message repeated 59 times kernel: siisch1: SATA connect time=3D60ms status=3D00000123 kernel: siisch1: SIIS reset done: devices=3D00000001 kernel: siisch1: DISCONNECT requested kernel: siisch1: SIIS reset... kernel: siisch1: siis_sata_connect() calling DELAY(1000) last message repeated 58 times kernel: siisch1: SATA connect time=3D59ms status=3D00000123 ... kernel: siisch0: siis_wait_ready() calling DELAY(1000) last message repeated 1300 times kernel: siisch0: port is not ready (timeout 10000ms) status =3D 001f2000 Meanwhile, *everything* comes to a screeching halt. Device drivers are locked out, and thus incoming data is lost. Losing incoming data is unacceptable. Need an alternative to DELAY() that does not lock out other device drivers. There must be a way to reset one bit of hardware without locking down the entire machine.