From: David Hildenbrand on
gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1023#note_5508...
But tainting raises an interesting question: we already have CONFIG_CMA
enabled in ARK for s390x and powerpc:
- s390x uses it for vmcp via cmdline parameter "vmcp_cma" under z/VM; it
is set as default to 4 MiB via CONFIG_VMCP_CMA_SIZE.
- powerpc uses it for KVM via cmdline parameter "kvm_cma_resv_ratio";
this is set as default to 5% of all RAM and applies if the CPU supports
hardware virtualization IIUC.
So when we taint when activating the regions via mark_tech_preview(), we
would taint any kernel running on s390x under z/VM and any kernel
running on ppc64 with CPU_FTR_HVMODE. Tainting when actually allocating
via CMA sounds a bit better, but we already mess with core-mm when
reserving/activating the regions.
These features want to use CMA, and we only want to support CMA as tech
preview. These features also wouldn't have worked like that on RHEL 8,
where we don't have CMA. I see the following alternatives
a) Taint only on x86_64. Feels wrong.
b) Taint always. Leave the settings unmodified. This will taint some
setups always. Bad.
c) Taint always. Set vmcp_cma and kvm_cma_resv_ratio as default to 0 in
RHEL 9 while CMA is tech preview.
c) sounds like the best bet for RHEL 9 while CMA is tech-preview.
@ddutile @llong1 @raquini, what's your take?