Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Nov 2007 15:32:04 -0800
From:      Nate Lawson <nate@root.org>
To:        Maxim Sobolev <sobomax@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Robert Watson <rwatson@FreeBSD.org>, cvs-all@FreeBSD.org, =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk>
Subject:   Re: cvs commit: src/sys/dev/ata ata-all.h ata-chipset.c ata-dma.c ata-pci.c ata-pci.h atapi-cd.c atapi-fd.c atapi-tape.c
Message-ID:  <47461174.2060104@root.org>
In-Reply-To: <4746075D.9000108@FreeBSD.org>
References:  <200711212115.lALLF16n017990@repoman.freebsd.org> <4744DE58.9090005@FreeBSD.org> <4744EF09.4060009@FreeBSD.org> <474533A4.3030106@deepcore.dk> <20071122082847.N60495@fledge.watson.org> <4746075D.9000108@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Maxim Sobolev wrote:
> Robert Watson wrote:
>> On Thu, 22 Nov 2007, Søren Schmidt wrote:
>>
>>>>>>   FreeBSD src repository
>>>>>>
>>>>>>   Modified files:  (Branch: RELENG_7)
>>>>>>     sys/dev/ata ata-all.h ata-chipset.c ata-dma.c ata-pci.c
>>>>>> ata-pci.h atapi-cd.c atapi-fd.c atapi-tape.c Log:
>>>>>>   Update with the latest fixes from -current.
>>>>>
>>>>> Please don't forget to merge at least atapi-cd.c fix into RELENG_6.
>>>>> Currently CD is not working in Parallels with 6.3-PRERELEASE.
>>>>
>>>> Also, I see some "ad0: TIMEOUT - WRITE_DMA (retrying)" messages with
>>>> Parallels using latest 6.3-PRERELEASE snapshot. Not sure if it's due
>>>> to some changes between 6.2 and 6.3, but I've never seen this with
>>>> 6.2. Any ideas?
>>>
>>> I have a complete backport of all the latest fixes done for 6.3
>>> awaiting approval.
>>>
>>> I've seen such a timeout once on 6.3 before I merged the latest
>>> changes, since then I've not seen any, not that it means much though :)
>>
>> I see them any time I do anything involving significant disk load
>> under Parallels--I've always assumed it was because there are several
>> layers of indirection, including HFS+ and an expanding Parallels disk
>> image, beween the FreeBSD ATA driver and hardware, leading to
>> significantly longer delays than the ATA driver would expect from
>> normal hardware.  That said, I'm fine with being wrong and seeing a
>> bug fixed :-).  I usually get several each time I buildkernel, such as
>> last night:
>>
>> ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=5208191
>> ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=23670111
>> ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=5843715
>> ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=40407615
> 
> Assuming that there are no actual bugs in the code, should not it make
> sense to detect virtual hardware and treat it a little bit differently
> with respect to timeouts? Given the growing popularity of virtualization
> technology it's doesn't sound like a worthless project.

Last time I looked at the ata code, I found the timeout was much too low
for common drives (non-virtual).  Anything that took a little longer to
spin up from idle or under heavy shared irq load would time out and
retry.  I think I bumped it up to 30 seconds and kept retry count at 5.

-- 
Nate



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