From owner-freebsd-current@FreeBSD.ORG Mon Jun 2 21:49:24 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 717EA1065673 for ; Mon, 2 Jun 2008 21:49:24 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 14A058FC16 for ; Mon, 2 Jun 2008 21:49:23 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m52LnHfW064270; Mon, 2 Jun 2008 17:49:17 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-current@freebsd.org Date: Mon, 2 Jun 2008 17:46:30 -0400 User-Agent: KMail/1.9.7 References: <810100.49150.qm@web63914.mail.re1.yahoo.com> In-Reply-To: <810100.49150.qm@web63914.mail.re1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200806021746.30557.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Mon, 02 Jun 2008 17:49:17 -0400 (EDT) X-Virus-Scanned: ClamAV 0.91.2/7325/Mon Jun 2 09:45:22 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=4.2 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Barney Cordoba Subject: Re: HT1000 Crash dump failure X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jun 2008 21:49:24 -0000 On Monday 02 June 2008 04:52:59 pm Barney Cordoba wrote: > I'm not sure how best to fix it, but it seems that > this broke crash dumps on > the HT1000 chipset: > exit1() at exit1+0x39d > sys_exit() at sys_exit+0xe > ia32_syscall() at ia32_syscall+0x256 > Xint0x80_syscall() at Xint0x80_syscall+0x5d > Uptime: 5d0h51m55s > Physical memory: 4084 MB > Dumping 325 MB:ata2: FAILURE - oversized DMA transfer > attempt 65536 > 64512 > ad4: setting up DMA failed > --------------- Previous Message ---------------- > ** DUMP FAILED (ERROR 5) ** > Automatic reboot in 15 seconds - press a key on the > console to abort > Rebooting... > cpu_reset: Restarting BSP > I'm guessing that the atadev->max_iosize is still set > to 64k somehow (DMA > default) for the ata disk when it does the check in > ad_strategy(), but I'm > not sure how as for the HT1000 chipset at least > ch->dma->max_iosize is set to > 63k in the controller allocate routine which should be > run before the child > disk devices are probed and attached AFAICT. > -- > John Baldwin > > ---------------------------------- > > I found this message, but no resolution. Has anyone > figured out how not to get the oversized DMA error > with HT1000 chipset? Yeah, try this patch. I get massive instability on RELENG_7 HT1000 systems w/o it. Index: ata-chipset.c =================================================================== RCS file: /usr/cvs/src/sys/dev/ata/ata-chipset.c,v retrieving revision 1.219 diff -u -r1.219 ata-chipset.c --- ata-chipset.c 21 Apr 2008 10:51:38 -0000 1.219 +++ ata-chipset.c 2 Jun 2008 21:45:54 -0000 @@ -1825,7 +1825,7 @@ int error; ch->dma.alignment = 16; - ch->dma.max_iosize = 126 * DEV_BSIZE; + ch->dma.max_iosize = 64 * DEV_BSIZE; mode = ata_limit_mode(dev, mode, ATA_UDMA2); @@ -3212,7 +3212,7 @@ ch->dma.max_address = BUS_SPACE_MAXADDR; /* chip does not reliably do 64K DMA transfers */ - ch->dma.max_iosize = 126 * DEV_BSIZE; + ch->dma.max_iosize = 64 * DEV_BSIZE; } @@ -3261,7 +3261,7 @@ int error; ch->dma.alignment = 16; - ch->dma.max_iosize = 126 * DEV_BSIZE; + ch->dma.max_iosize = 64 * DEV_BSIZE; mode = ata_limit_mode(dev, mode, ATA_UDMA2); @@ -4664,7 +4664,7 @@ { ATA_CSB6, 0x00, SWKS100, 0, ATA_UDMA5, "CSB6" }, { ATA_CSB6_1, 0x00, SWKS66, 0, ATA_UDMA4, "CSB6" }, { ATA_HT1000, 0x00, SWKS100, 0, ATA_UDMA5, "HT1000" }, - { ATA_HT1000_S1, 0x00, SWKS100, 4, ATA_SA150, "HT1000" }, + { ATA_HT1000_S1, 0x00, SWKSMIO, 4, ATA_SA150, "HT1000" }, { ATA_HT1000_S2, 0x00, SWKSMIO, 4, ATA_SA150, "HT1000" }, { ATA_K2, 0x00, SWKSMIO, 4, ATA_SA150, "K2" }, { ATA_FRODO4, 0x00, SWKSMIO, 4, ATA_SA150, "Frodo4" }, @@ -4766,7 +4766,7 @@ ch->hw.tf_write = ata_serverworks_tf_write; /* chip does not reliably do 64K DMA transfers */ - ch->dma.max_iosize = 126 * DEV_BSIZE; + ch->dma.max_iosize = 64 * DEV_BSIZE; return 0; } -- John Baldwin