I want to reserve a large amount (~1 gigabyte) of contiguous memory for DMA from a device. The entire purpose of this particular Linux box is to run a single application which uses the device. The device does large transfers of ~10-200MB per operation.

To be clear, put up this question for the next guy. Expect to have an answer somewhat shortly.


I don't think you'll be able to. Instead, you'll have to "fake it" as described here.

The last time I checked (it's been a while), the CMA hadn't been ported to x86 from ARM yet. Even then, that big a buffer is unlikely to work out for you.

| improve this answer | |
  • Yes, I think the answer is in the direction of adding "memmap=1G$4G" as a kernel boot parameter. Still walking through how to use that reserved 1GB of memory. – Preston L. Bannister Jul 27 at 23:25
  • Yes, that horrible answer was also to get large FPGA DMA pools. – Aaron D. Marasco Jul 28 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.