Re: DMA failures on AMD64 with 4 GB RAM

From: Scott Long <scottl_at_samsco.org>
Date: Mon, 28 Nov 2005 10:04:03 -0700
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.
> 
> -Søren

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.


Scott
Received on Mon Nov 28 2005 - 16:04:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:48 UTC