-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Utilize memory hotplug to add VM memory by qmemman #7956
Labels
C: core
C: kernel
P: default
Priority: default. Default priority for new issues, to be replaced given sufficient information.
r4.2-host-stable
release notes
This issue should be mentioned in the release notes.
T: enhancement
Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Milestone
Comments
marmarek
added a commit
to marmarek/qubes-linux-kernel
that referenced
this issue
Dec 26, 2022
qmemman will rely on it soon (if available). QubesOS/qubes-issues#7956
marmarek
added
T: enhancement
Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
P: default
Priority: default. Default priority for new issues, to be replaced given sufficient information.
labels
Dec 26, 2022
marmarek
added
the
release notes
This issue should be mentioned in the release notes.
label
Dec 26, 2022
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
Dec 26, 2022
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 26, 2022
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
This was referenced Dec 26, 2022
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 27, 2022
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 27, 2022
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 27, 2022
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
This was referenced Dec 27, 2022
marmarek
added a commit
to QubesOS/qubes-linux-kernel
that referenced
this issue
Dec 27, 2022
qmemman will rely on it soon (if available). QubesOS/qubes-issues#7956 (cherry picked from commit 5482f86)
This was referenced Dec 27, 2022
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 28, 2022
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 28, 2022
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
This was referenced Jan 9, 2023
This was referenced Jan 20, 2023
marmarek
added a commit
to marmarek/qubes-core-libvirt
that referenced
this issue
Aug 6, 2023
The '<maxMemory>' domain XML element is about maximum memory to be hot plugged. Make libxl support this for calculating shadow memory amount, which is used by Xen for internal accounting of domain memory (among other things). If shadow memory is calculated based on initial memory, then the domain can hotplug up to about twice that memory, but not more (it silently doesn't get more). QubesOS/qubes-issues#7956
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Aug 7, 2023
If VM supports memory hotplug, start it with maxmem=memory and then use memory hotplug to (potentially) increase its memory. The hotplug maxmem needs to be communicated to libvirt->libxl via <maxMemory> element, so Xen will reserve appropriate amount of memory for internal accounting (this currently is a patch in qubes package, not available upstream yet). Qmemman almost had all the needed parts - especially mem_set function already adjusts maxmem too. The missing part was letting it know actual maxmem - do that via xenstore (as qmemman uses xenstore heavily already). The use of memory hotplug can be enabled (or disabled) explicitly via 'memory-hotplug' feature, or detected based on 'memory-hotplug-supported' file in dom0-provided kernel dir, or 'supported-feature.memory-hotplug' for VM-provided kernel. Fixes QubesOS/qubes-issues#7956
marmarek
added a commit
to QubesOS/qubes-linux-kernel
that referenced
this issue
Oct 10, 2023
This was referenced Oct 10, 2023
Closed
marmarek
added a commit
to QubesOS/qubes-linux-kernel
that referenced
this issue
Oct 14, 2023
QubesOS/qubes-issues#7956 (cherry picked from commit 981f95d)
This was referenced Oct 14, 2023
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
Apr 20, 2024
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Apr 20, 2024
1. Fix handling HVM to match the intention described in the comment. 2. Fix distinguishing dom0-provided and vm-provided kernels - the actual "kernel" property value depends on the virt_mode QubesOS/qubes-issues#7956
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
Apr 20, 2024
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
Apr 22, 2024
This was referenced Apr 22, 2024
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Apr 24, 2024
1. Fix handling HVM to match the intention described in the comment. 2. Fix distinguishing dom0-provided and vm-provided kernels - the actual "kernel" property value depends on the virt_mode QubesOS/qubes-issues#7956
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C: core
C: kernel
P: default
Priority: default. Default priority for new issues, to be replaced given sufficient information.
r4.2-host-stable
release notes
This issue should be mentioned in the release notes.
T: enhancement
Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
(...)
Which brings an idea that perhaps we should change how we start VMs:
maxmem==memory
(400M) and use memory hotplug when more memory is neededThis would require changes to libvirt config (easy) and qmemman (possibly less easy). The current approach is used because memory hotplug used to be unstable, but I think that isn't the case anymore for a long time already.
Originally posted by @marmarek in #7023 (comment)
The text was updated successfully, but these errors were encountered: