From: David Hildenbrand <david(a)redhat.com>
configs: enable CONFIG_CMA on x86_64 in ARK
Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=1945002
Upstream: RHEL only
Enable CONFIG_CMA on x86_64 in ARK as we already have in fedora; move the
relevant configs from redhat/configs/fedora to redhat/configs/common.
As one example CMA will be required to eventually support RDMA<->GPU
p2pdma via dma-buf. As another example, CMA will be useful useful for more
reliable runtime allocation of gigantic pages.
Let's keep CONFIG_DMABUF_HEAPS_CMA disabled for now -- we'll enable it
separately, via a different BZ in the future.
Note that:
* CONFIG_DMA_CMA=Y has to be set due to FB_HYPERV, which force-enables it
via "select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA"
* CONFIG_CMA_AREAS has to be configured due to CONFIG_CMA; use the fedora
value (7). We can bump it up once we actually need more areas.
* CONFIG_CMA_DEBUG and CONFIG_CMA_DEBUGFS have to be configured due to
CONFIG_CMA; use the fedora values, which disables both.
* CONFIG_DMA_PERNUMA_CMA has to be configured due to CONFIG_DMA_CMA; use
the fedora value, which disables it. We can enable once we actually
need it.
* CONFIG_CMA_ALIGNMENT, CONFIG_CMA_SIZE_MBYTES, CONFIG_CMA_SIZE_SEL_MAX,
CONFIG_CMA_SIZE_SEL_MBYTES, CONFIG_CMA_SIZE_SEL_MIN,
CONFIG_CMA_SIZE_SEL_PERCENTAGE have to be configured due to
CONFIG_DMA_CMA; use the fedora values, which correspond to the defaults
* 1MiB alignment of buffers
* CMA being disabled, requiring explicit "cma=size[MG]" on the cmdline
Signed-off-by: David Hildenbrand <david(a)redhat.com>
diff a/redhat/configs/ark/generic/CONFIG_DMABUF_HEAPS_CMA
b/redhat/configs/ark/generic/CONFIG_DMABUF_HEAPS_CMA
--- /dev/null
+++ b/redhat/configs/ark/generic/CONFIG_DMABUF_HEAPS_CMA
@@ -0,0 +1 @@
+# CONFIG_DMABUF_HEAPS_CMA is not set
diff a/redhat/configs/fedora/generic/CONFIG_DMA_PERNUMA_CMA
b/redhat/configs/common/generic/CONFIG_DMA_PERNUMA_CMA
--- a/redhat/configs/fedora/generic/CONFIG_DMA_PERNUMA_CMA
+++ b/redhat/configs/common/generic/CONFIG_DMA_PERNUMA_CMA
diff a/redhat/configs/fedora/generic/x86/CONFIG_CMA_ALIGNMENT
b/redhat/configs/common/generic/x86/CONFIG_CMA_ALIGNMENT
--- a/redhat/configs/fedora/generic/x86/CONFIG_CMA_ALIGNMENT
+++ b/redhat/configs/common/generic/x86/CONFIG_CMA_ALIGNMENT
diff a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_MBYTES
b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_MBYTES
--- a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_MBYTES
+++ b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_MBYTES
diff a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_MAX
b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_MAX
--- a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_MAX
+++ b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_MAX
diff a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_MBYTES
b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_MBYTES
--- a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_MBYTES
+++ b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_MBYTES
diff a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_MIN
b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_MIN
--- a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_MIN
+++ b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_MIN
diff a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_PERCENTAGE
b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_PERCENTAGE
--- a/redhat/configs/fedora/generic/x86/CONFIG_CMA_SIZE_SEL_PERCENTAGE
+++ b/redhat/configs/common/generic/x86/CONFIG_CMA_SIZE_SEL_PERCENTAGE
diff a/redhat/configs/fedora/generic/x86/CONFIG_DMA_CMA
b/redhat/configs/common/generic/x86/CONFIG_DMA_CMA
--- a/redhat/configs/fedora/generic/x86/CONFIG_DMA_CMA
+++ b/redhat/configs/common/generic/x86/CONFIG_DMA_CMA
diff a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA
b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA
--- a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA
+++ b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA
diff a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA_AREAS
b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA_AREAS
--- a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA_AREAS
+++ b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA_AREAS
diff a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA_DEBUG
b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA_DEBUG
--- a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA_DEBUG
+++ b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA_DEBUG
diff a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA_DEBUGFS
b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA_DEBUGFS
--- a/redhat/configs/fedora/generic/x86/x86_64/CONFIG_CMA_DEBUGFS
+++ b/redhat/configs/common/generic/x86/x86_64/CONFIG_CMA_DEBUGFS
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1023