Virtual Machines running under Hyper-V with the Dynamic Memory feature turned on are unable to use the additional memory granted by Hyper-V. Example: A VM configured to use: - 1024 MB of RAM as "Startup" - 512 MB of RAM as "Minimum" - 8192 MB of RAM as "Maximum" - 30% Memory buffer Will always show the output of the free -h command as having 883MB of TOTAL memory. When applications inside any of these VMs begin putting memory pressure on the host, Hyper-V will allocate additional memory to the VM but the system will never see it; free -h command will always display 883MB of totale memory. Reproducible: Always Steps to Reproduce: 1. Install a fresh Fedora 42 system on Hyper-V (Windows Server 2022) 2. Configure the VM to use dynamic memory 3. Put some memory pressure on the VM. Actual Results: The memory allocated to the VM by the hypervisor will grow but the memory available inside the VM will not. Expected Results: The memory allocated to the VM by the hypervisor will grow as it will grow the memory available to the VM, as reported by the free -h command. Additional Information: With applications that put more stress than others on the memory (as it is the case with databases) the situation escalates quite rapidly in Hyper-V reaching the "Maximum" limit, but the VM still sees their meager 883MB.
The problem is that we lost CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y as upstream it was replaced with CONFIG_MHP_DEFAULT_ONLINE_TYPE_* setting. A quick workaround is to add a udev rule for memory onlining: SUBSYSTEM=="memory", ACTION=="add", ATTR{state}=="offline", ATTR{state}="online"
Created attachment 2095404 [details] Ansible playbook to create systemd-udevd rules The workaround proposed by Vitaly works, I've put together a simple Ansible playbook that takes care of applying the workaround at scale for Fedora 42 hosts while there is a more permanent fix in the code.
FEDORA-2025-7feed8b25a (kernel-6.15.4-200.fc42 and linux-firmware-20250627-1.fc42) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2025-7feed8b25a
FEDORA-2025-f6f8526a43 (kernel-6.15.4-100.fc41 and linux-firmware-20250627-1.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2025-f6f8526a43
(In reply to Vitaly Kuznetsov from comment #1) > The problem is that we lost CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y as > upstream it was replaced with CONFIG_MHP_DEFAULT_ONLINE_TYPE_* setting. I fixed stable Fedora with your MR + a couple of fixes. See https://gitlab.com/cki-project/kernel-ark/-/commit/1d496a80392fa333f57e39b95cde0f19864034c1 We do still need your MR for kernel-ark os-build though so that rawhide can get the fix. As it changes configs in common, it will require RHEL acks.
FEDORA-2025-7feed8b25a has been pushed to the Fedora 42 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-7feed8b25a` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-7feed8b25a See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2025-f6f8526a43 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-f6f8526a43` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-f6f8526a43 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
(In reply to Fedora Update System from comment #6) > FEDORA-2025-7feed8b25a has been pushed to the Fedora 42 testing repository. > Soon you'll be able to install the update with the following command: > `sudo dnf upgrade --enablerepo=updates-testing --refresh > --advisory=FEDORA-2025-7feed8b25a` > You can provide feedback for this update here: > https://bodhi.fedoraproject.org/updates/FEDORA-2025-7feed8b25a > > See also https://fedoraproject.org/wiki/QA:Updates_Testing for more > information on how to test updates. I tried the fix on a few test systems, after undoing the systemd-udevd rules, and the dynamic memory feature has restarted working correctly. It is allocating and removing memory as expected. Thank you very much for the quick answer and fix.
FEDORA-2025-7feed8b25a (kernel-6.15.4-200.fc42 and linux-firmware-20250627-1.fc42) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2025-f6f8526a43 (kernel-6.15.4-100.fc41 and linux-firmware-20250627-1.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.