From owner-freebsd-stable@FreeBSD.ORG Thu Mar 16 17:34:59 2006 Return-Path: X-Original-To: stable@freebsd.org Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6F14316A420 for ; Thu, 16 Mar 2006 17:34:59 +0000 (UTC) (envelope-from grafan@gmail.com) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id 028E343D7D for ; Thu, 16 Mar 2006 17:34:49 +0000 (GMT) (envelope-from grafan@gmail.com) Received: by xproxy.gmail.com with SMTP id s9so294600wxc for ; Thu, 16 Mar 2006 09:34:49 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=CjxoysU42aeV/UZeiKejYEmAjtDg681GoSB+bcAJXFJl0OjjrHoGWbi1YpVn0obOtkr5el0eep3TqtwZvvsx1Rvp35ivXmWISH0HF3a2LcW4MZVSg4uXimlA9NyCwda+fypR6G86u+G5Z3dOdPYvUyc+BIyqWQeLpT/d//eWXy0= Received: by 10.70.77.15 with SMTP id z15mr1638180wxa; Thu, 16 Mar 2006 09:34:48 -0800 (PST) Received: by 10.70.126.10 with HTTP; Thu, 16 Mar 2006 09:34:48 -0800 (PST) Message-ID: <6eb82e0603160934p6f795c26sbdd63ffda9cfe889@mail.gmail.com> Date: Thu, 16 Mar 2006 12:34:48 -0500 From: "Rong-En Fan" To: "Scott Long" In-Reply-To: <44198A7F.5030003@samsco.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <6eb82e0603160732p4bb85504w7d3ef2baec8dd26f@mail.gmail.com> <44198A7F.5030003@samsco.org> Cc: stable@freebsd.org Subject: Re: 6.1 ata panic if dma enabled X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Mar 2006 17:34:59 -0000 On 3/16/06, Scott Long wrote: > Rong-En Fan wrote: > > Hi, > > > > Recently, we upgrade a 4.11 box to 6.1-BETA2 by reinstall+newfs everyth= ing. > > After that, we found that if hw.ata.ata_dma=3D1 at boot, then as soon = as it > > starts fsck -p, it panics. It happens only if ad0 is setted to UDMA66 o= r above. > > My current solution is set hw.ata.ata_dma=3D0 in loader.conf and manual= ly > > turn DMA on ad0 to UDMA33 and rest ad4~ad7 to UDMA100. In the days of > > 4.x, there is something wrong with DMA on ad0, but it will fall back to > > PIO4 automatically without problem. We have been tried to 1) change the > > cable 2) change from primary ata controller to the second, 3) upgrade t= o > > RELENG_6 as of March 11, but all these are failed. There is no options = in > > bios to turn off DMA for the onboard ATA controller. > > Please review the release notes from the 6.1-BETA2 announcement. Fixes > went into 6.1 shortly after BETA2 was released, and are in BETA3 and BETA= 4. Upgrade to today's RELENG_6, it is the same. I'm not quite if this is hardware problem. But however, why can't ata fall back to PIO4 is DMA write error, just like 4.x does? ata0-master: pio=3DPIO4 wdma=3DWDMA2 udma=3DUDMA100 cable=3D80 wire ad0: setting PIO4 on 82C686B chip ad0: setting UDMA100 on 82C686B chip ad0: 38166MB at ata0-master UDMA100 ad0: 78165360 sectors [19158C/16H/255S] 16 sectors/interrupt 1 depth queue /dev/ad0s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1d: clean, 624587 free (28411 frags, 74522 blocks, 1.9% fragmentat= ion) /dev/ad0s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 826458 free (466 frags, 103249 blocks, 0.0% fragmentati= on) ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request) LBA=3D191 ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request) LBA=3D191 ad0: FAILURE - WRITE_DMA status=3D51 error=3D84 LBA=3D191 g_vfs_done():ad0s1a[WRITE(offset=3D65536, length=3D2048)]error =3D 5 mount: /dev/ad0s1a: Input/output error Mounting root filesystem rw failed, startup aborted Boot interrupted Enter root password, or ^D to go multi-user then I just continue..., finally it panics kernel trap 12 with interrupts disabled Fatal trap 12: page fault while in kernel mode fault virtual address =3D 0x24 fault code =3D supervisor read, page not present instruction pointer =3D 0x20:0xc04eeee5 stack pointer =3D 0x28:0xe4cfb4f0 frame pointer =3D 0x28:0xe4cfb500 code segment =3D base 0x0, limit 0xfffff, type 0x1b =3D DPL 0, pres 1, def32 1, gran 1 processor eflags =3D resume, IOPL =3D 0 current process =3D 168 (cp) [thread pid 168 tid 100044 ] Stopped at turnstile_broadcast+0x9: movl 0x24(%eax),%eax db> bt Tracing pid 168 tid 100044 td 0xc48de180 turnstile_broadcast(0) at turnstile_broadcast+0x9 _mtx_unlock_sleep(c068aca0,0,0,0) at _mtx_unlock_sleep+0x6c softdep_sync_metadata(c495d660) at softdep_sync_metadata+0x7d4 ffs_syncvnode(c495d660,1) at ffs_syncvnode+0x43d ffs_truncate(c495d660,200,0,880,c4695d00,c48de180) at ffs_truncate+0x77e ufs_direnter(c495d660,c49e1880,e4cfb92c,e4cfbbd0,0) at ufs_direnter+0x85d ufs_makeinode(81a4,c495d660,e4cfbbbc,e4cfbbd0) at ufs_makeinode+0x30f ufs_create(e4cfba84) at ufs_create+0x37 VOP_CREATE_APV(c0671100,e4cfba84) at VOP_CREATE_APV+0x3c VOP_CREATE(c495d660,e4cfbbbc,e4cfbbd0,e4cfbae0) at VOP_CREATE+0x34 vn_open_cred(e4cfbba8,e4cfbcc4,1a4,c4695d00,4) at vn_open_cred+0x20c vn_open(e4cfbba8,e4cfbcc4,1a4,4) at vn_open+0x29 kern_open(c48de180,804c1c8,0,602,21b6) at kern_open+0xd4 open(c48de180,e4cfbcf0) at open+0x22 syscall(3b,3b,3b,8060100,bfbfeec4) at syscall+0x337 Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (5, FreeBSD ELF32, open), eip =3D 0x28137ccf, esp =3D 0xbfbfec7c, ebp =3D 0xbfbfecc8 --- Regards, Rong-En Fan