Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Nov 2004 11:24:13 +0100
From:      =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@DeepCore.dk>
To:        Scott Long <scottl@freebsd.org>
Cc:        Garance A Drosihn <drosih@rpi.edu>
Subject:   Re: 5.3-RELEASE: WARNING - WRITE_DMA interrupt timout
Message-ID:  <4195E0CD.40608@DeepCore.dk>
In-Reply-To: <4195DD31.10201@freebsd.org>
References:  <25539.1100339599@critter.freebsd.dk> <4195DB3E.2040807@DeepCore.dk> <4195DD31.10201@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Scott Long wrote:
> S=F8ren Schmidt wrote:
>=20
>> Poul-Henning Kamp wrote:
>>
>>> In message <4195D903.2090801@DeepCore.dk>,=20
>>> =3D?ISO-8859-1?Q?S=3DF8ren_Schmidt?=3D wri
>>> tes:
>>>
>>>> Zoltan Frombach wrote:
>>>>
>>>>> This is still an issue for me. Please read this post of mine:
>>>>> http://lists.freebsd.org/pipermail/freebsd-stable/2004-November/009=
420.html=20
>>>>>
>>>>>
>>>>> Can anyone help? I would gladely install test patches to track this=
=20
>>>>> problem down. My system is 5.3-R. And the WRITE_DMA warning happens=
=20
>>>>> at least twice a day, it is so predictable. With thanks,
>>>>
>>>>
>>>>
>>>> Hmmm, that warning is issued from ATA when requests has been=20
>>>> returned to the systems bio_taskqueue but the system hasn't finished=
=20
>>>> them within the timeout. Now this is an indication of the system=20
>>>> being unresponsive already at that point, or at least that was the=20
>>>> idea.
>>>> It has nothing to do with a bad drive, since the interrupt was seen =

>>>> the drive has finished the request it was asked, its the layers=20
>>>> above ATA that doesn't respond to the request beeing returned as=20
>>>> finished.
>>>
>>> It is not really the task of the ata driver to fail requests at that
>>> time.   How long is the timeout anyway ?
>>
>> Oh, ATA doesn't fail them, it just yells that the request hasn't been =

>> finished yet by the upper layers, it doesn't do anything to the reques=
t.
>>
>> Timeout is 5 secs, which is a pretty long time in this context IMHO..
>>
>> However, if it can take that long time to get data pushed up the=20
>> chain, it might also explain some of the reduced I/O performance=20
>> reported ?
>>
> I'm able to get 11,000+ transactions/sec and achieve PCI line rate with=

> the aac driver and a good version of an aac controller.  aac is a block=
=20
> driver just like ata, the only differnece is that it uses a fast=20
> interrupt handler to acknowledge the hardware, and batch-processes the
> completions in a mpsafe (!Giant) taskqueue.  I don't see any performanc=
e
> problems with this, and in fact it performs quite a bit better than
> Linux and even Windows.  I see _no_ taskqueue stalls or other strange
> timing or synchronization problems.

Well, with sufficiently fast ATA hardware you can easily get that many=20
transactions through ATA as well, so there is nothing performance wise=20
hindering that at all.

--=20

-S=F8ren




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