Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Apr 2008 19:34:30 +0200
From:      Gary Jennejohn <gary.jennejohn@freenet.de>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        current@FreeBSD.org, sos@FreeBSD.org
Subject:   Re: ATA problem in Parallels: warnings -> failures
Message-ID:  <20080417193430.63adea19@peedub.jennejohn.org>
In-Reply-To: <20080417144424.D71628@fledge.watson.org>
References:  <20080417144424.D71628@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 17 Apr 2008 14:46:23 +0100 (BST)
Robert Watson <rwatson@FreeBSD.org> wrote:

> 
> Dear Soren,
> 
> Since my most recent kernel update, the intermittent TIMEOUT - READ_DMA 
> warnings I get on my parallels install appear to have become somewhat less 
> innocuous:
> 
> ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=38669679
> ad0: FAILURE - already active DMA on this device
> ad0: setting up DMA failed
> g_vfs_done():ad0s1e[READ(offset=18188230656, length=2048)]error = 5
> cvs update: in directory modules/tx:
> cvs [update aborted]: cannot read CVS/Repository: Input/output error
> 
> In the past, this appeared to be a symptom of long and unexplained delays in 
> Parallel's ATA -> image file operation, but were not harmful as the retried 
> operation succeeded.  However, it seems that this is no longer the case, with 
> errors exposed to higher levels of the file system.  Do you have any 
> suggestions?
> 

I see this eror on real hardware (PATA DVD hooked to nVidia nForce MCP61
UDMA133 controller) with a kernel generated today:

Apr 17 13:11:07 peedub kernel: acd0: TIMEOUT - READ_BIG retrying (1 retry left)
Apr 17 13:11:07 peedub kernel: acd0: FAILURE - already active DMA on this device
Apr 17 13:11:07 peedub kernel: acd0: setting up DMA failed
Apr 17 13:11:07 peedub kernel: g_vfs_done():acd0[READ(offset=4315742208, length=65536)]error = 5
Apr 17 13:11:07 peedub kernel: g_vfs_done():acd0[READ(offset=29360128, length=65536)]error = 5
Apr 17 13:11:07 peedub kernel: g_vfs_done():acd0[READ(offset=33554432, length=65536)]error = 5
Apr 17 13:11:41 peedub kernel: g_vfs_done():acd0[READ(offset=1103101952, length=65536)]error = 5
Apr 17 13:12:08 peedub kernel: g_vfs_done():acd0[READ(offset=2172649472, length=65536)]error = 5
Apr 17 13:12:42 peedub kernel: g_vfs_done():acd0[READ(offset=3242196992, length=65536)]error = 5
Apr 17 13:13:15 peedub kernel: g_vfs_done():acd0[READ(offset=4311744512, length=65536)]error = 5
Apr 17 13:13:15 peedub kernel: g_vfs_done():acd0[READ(offset=563200, length=2048)]error = 5

It almost looks like the driver isn't cleaning up pending DMAs when a
hard error occurs.

---
Gary Jennejohn



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080417193430.63adea19>