linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* CMA enhancement - non-default areas in x86
@ 2020-05-13  6:13 Idgar, Or
  2020-05-13  6:47 ` gregkh
  0 siblings, 1 reply; 8+ messages in thread
From: Idgar, Or @ 2020-05-13  6:13 UTC (permalink / raw)
  To: linux-kernel, linux-mm, gregkh; +Cc: Ravich, Leonid

[-- Attachment #1: Type: text/plain, Size: 1236 bytes --]

Hi,
I'm working with Linux kernel on x86 and needed a way to allocate a very large contiguous memory (around 20GB) for DMA operations.
I've found out that CMA is one of the major ways to do so, but our problem is that CMA's default behavior is to create one default area from which all devices can allocate memory.
when booting, there were some drivers that allocated memory for DMA and used CMA memory if exist. The problem is that it takes memory that we need for our device and we want to make sure this area is dedicated for our device.

As I saw, the only way to reserve a dedicated area is by enabling OF_RESERVED_MEM which is available for several architectures but excluding x86 (and as far as I understand relies on device tree which is not in use with x86 or at least cannot be configured with OF_RESERVED_MEM).

I really want to leverage this mechanism/API and thought about modifying the code (and hopefully merge it upstream) so multiple non-default areas will be available for x86 and with a way to consume it by mapping specific area to specific device.

Is it something that will be open for merging if written properly?
I'll be glad to get some inputs and suggestions from you.
Thanks in advance,
Or Idgar

[-- Attachment #2: Type: text/html, Size: 4153 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-05-13 10:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-13  6:13 CMA enhancement - non-default areas in x86 Idgar, Or
2020-05-13  6:47 ` gregkh
2020-05-13  7:00   ` Idgar, Or
2020-05-13  7:14     ` gregkh
2020-05-13  8:29       ` Ravich, Leonid
2020-05-13  8:33         ` gregkh
2020-05-13  9:43           ` Ravich, Leonid
2020-05-13 10:04             ` gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox