On 3/16/06, Scott Long <[EMAIL PROTECTED]> wrote: > Rong-En Fan wrote: > > Hi, > > > > Recently, we upgrade a 4.11 box to 6.1-BETA2 by reinstall+newfs everything. > > After that, we found that if hw.ata.ata_dma=1 at boot, then as soon as it > > starts fsck -p, it panics. It happens only if ad0 is setted to UDMA66 or > > above. > > My current solution is set hw.ata.ata_dma=0 in loader.conf and manually > > 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 to > > 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 BETA4.
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=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire ad0: setting PIO4 on 82C686B chip ad0: setting UDMA100 on 82C686B chip ad0: 38166MB <Seagate ST340016A 3.10> 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% fragmentation) /dev/ad0s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 826458 free (466 frags, 103249 blocks, 0.0% fragmentation) ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request) LBA=191 ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request) LBA=191 ad0: FAILURE - WRITE_DMA status=51<READY,DSC,ERROR> error=84<ICRC,ABORTED> LBA=191 g_vfs_done():ad0s1a[WRITE(offset=65536, length=2048)]error = 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 = 0x24 fault code = supervisor read, page not present instruction pointer = 0x20:0xc04eeee5 stack pointer = 0x28:0xe4cfb4f0 frame pointer = 0x28:0xe4cfb500 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = resume, IOPL = 0 current process = 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 = 0x28137ccf, esp = 0xbfbfec7c, ebp = 0xbfbfecc8 --- Regards, Rong-En Fan _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"