RE: [1/3] Add 4GB DMA32 zone

Salyzyn, Mark
2005-09-12T11:44:11Z

Andi Kleen writes:
>> Adaptec AACRAID is one offender
> 4GB limit is really common and the oddballs like
>these have to use the same workarounds (custom bounce buffer in low
GFP_DMA
>memory) they always did on machines with enough memory.

The 2GB limit is to deal with allocation of hardware command frames
(FIB) and thus only during initialization, all the adapters deliver DMA
to the full address range at 'run time' and the driver does open the
limit up at that point. The reason for this strangeness is the inability
of the Firmware to work around the Intel ATU when doing memcpy, where
the DMA engine had no such limits.

> Also the aacraid is not really an big issue on x86-64
Oh really? I have throngs (a technical term) of customers that would
bear witness otherwise.
> because afaik nobody shipped EM64T or AMD64 machines with these
beasts.
Patently false. The cards with the 2GB limits (2200S) are popular
sellers in the channel, the replacement (2230S) w/o the limit is ramping
though ...

>[Proof of it: the current sources don't seem to handle it, so it cannot
be that bad ;-]

The current sources do handle it, took nearly a year for the patches to
propagate from the scsi-list. Meanwhile I deliver a driver to all the
customers that experienced problems, while I waited ...

Sincerely -- Mark Salyzyn