From owner-freebsd-current Mon Jan 27 14:24:20 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5032F37B401 for ; Mon, 27 Jan 2003 14:24:18 -0800 (PST) Received: from HAL9000.homeunix.com (12-233-57-224.client.attbi.com [12.233.57.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FA4843F8E for ; Mon, 27 Jan 2003 14:24:17 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.6/8.12.5) with ESMTP id h0RMOGIA000420; Mon, 27 Jan 2003 14:24:16 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.6/8.12.5/Submit) id h0RMOGWD000419; Mon, 27 Jan 2003 14:24:16 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Date: Mon, 27 Jan 2003 14:24:16 -0800 From: David Schultz To: Enache Adrian Cc: current@FreeBSD.ORG Subject: Re: boot delay when testing for ata devices Message-ID: <20030127222416.GA375@HAL9000.homeunix.com> Mail-Followup-To: Enache Adrian , current@FreeBSD.ORG References: <20030127221825.GA903@ratsnest.hole> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030127221825.GA903@ratsnest.hole> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Thus spake Enache Adrian : > FreeBSD used to have an irritating boot delay in 4.4. It was gone in > ~4.6, never reappeared in -STABLE, but is there in -CURRENT. > (I've seen it also mentioned in some vmware documentation). > > Applying this patch fixes it: > > --- /arc/freebsd/src/sys/dev/ata/ata-all.c Sun Jan 19 23:54:13 2003 > +++ sys/dev/ata/ata-all.c Mon Jan 27 21:02:34 2003 > @@ -514,7 +514,7 @@ > > /* apparently some devices needs this repeated */ > do { > - if (ata_command(atadev, command, 0, 0, 0, ATA_WAIT_INTR)) { > + if (ata_command(atadev, command, 0, 0, 0, ATA_IMMEDIATE)) { > ata_prtdev(atadev, "%s identify failed\n", > command == ATA_C_ATAPI_IDENTIFY ? "ATAPI" : "ATA"); > free(ata_parm, M_ATA); > > I'm not familiar with the ata code, but I can't see from ata-all.c > which harm this could cause. There is already at least one person for whom this code doesn't work, so this patch doesn't seem like a good idea. Someone needs to figure out exactly what delays are needed here to make everyone's hardware actually work. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message