DMA failures on AMD64 with 4 GB RAM
Søren Schmidt
sos at deepcore.dk
Mon Nov 28 17:20:34 GMT 2005
Scott Long wrote:
> Søren Schmidt wrote:
>
>> Attila Nagy wrote:
>>
>>> Hello,
>>>
>>> There is a problem with recent ATA drivers on (at least) AMD64 with 4
>>> GB of RAM, which can be triggered by synchronizing a geom mirror
>>> provider to another one (or generally a bigger disk I/O, I guess).
>>>
>>> The machine dies instantly with the following:
>>> GEOM_MIRROR: Device hars: rebuilding provider ad6.
>>> ad6: setting up DMA failed
>>> ad6: setting up DMA failed
>>>
>>> This is true either on RELENG_6 and on HEAD as of today.
>>>
>>> There are two workarounds:
>>> - use the ata driver from RELENG_6 which is not older than 2005.10.08
>>> - set hw.physmem smaller than 4G
>>>
>>> Are there any chances to resolve this issue?
>>>
>>> Thank you.
>>>
>>> ps: there was some discussion about this:
>>> http://marc.theaimsgroup.com/?l=freebsd-amd64&m=113034973432742&w=2
>>> where Søren said it might be busdma, not the ata driver and Scott
>>> promised to look into that.
>>
>> The resolution was that busdma doesn't work as advertised in the man
>> page, and that scottl would look into it
>
> Well, the more accurate statement is that the manpage is not the
> authoritative design document, but rather a poorly adapted
> representation of how the subsystem might work on NetBSD =-) So
> busdma needs to be fixed to provide what the drivers need, and
> the manpage needs to be fixed to reflect how things actually work.
>
> In any case ATA still doesn't come anywhere close to conforming to
> the busdma API, and I doubt that me rewriting the manpage will fix
> that.
Hmm, thats not how I recall the conclusion, but anyway..
Please mark ATA as broken for > 4G of memory then, I have no immediate
plans to rework the entire logic to bend over backwards for busdma's
callback centric world just yet.
-Søren
More information about the freebsd-current
mailing list