Dear All, We are developing a Solid State Cache usingAMD Opteron Processor with 64 bit Linux as OS. The system has 16GB SDRAM. We are plannig to use 14GB of RAM for storage and remaining for kernel and applications. Our SCSI IO Controller (FC919x) supports 64 bit dma. How we can use 14GB for storage purpose. We used pci_alloc_consistent and failed to allocate memory more than 6MB. We are allocating 512 bytes block at a time. Is there is any other optiom to use 14GB allocation for DMA. Thanks in Advance. Anurag
On Tue, Oct 14, 2003 at 11:47:35AM +0530, Anurag.R wrote:
Dear All, We are developing a Solid State Cache usingAMD Opteron Processor with 64 bit Linux as OS. The system has 16GB SDRAM. We are plannig to use 14GB of RAM for storage and remaining for kernel and applications. Our SCSI IO Controller (FC919x) supports 64 bit dma. How we can use 14GB for storage purpose.
We used pci_alloc_consistent and failed to allocate memory more than 6MB. We are allocating 512 bytes block at a time.
512byte blocks is too small. The pci_alloc_consistent allocation is always rounded to a multiple of 4K. On the SuSE kernel you can increase the consistent pci dma mask used for the device to 0xffffffffffffffff. That's ok because it supports DAC. Without that it would be limited by the aperture size (normally 256MB-2GB, depending on your BIOS setup) You will have to allocate piece by piece because the Linux page allocator doesn't support allocations bigger than 8MB. -Andi
participants (2)
-
Andi Kleen
-
Anurag.R