Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upmeminfo writer service: improve consistency #3207
Comments
rootkovska
added
bug
C: core
P: major
labels
Oct 24, 2017
rootkovska
added this to the Release 4.0 milestone
Oct 24, 2017
rootkovska
assigned
marmarta
Oct 24, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Oct 24, 2017
Member
Technically, HVM with PCI device cannot be started with maxmem > memory. But, when started, balloon driver can be used to take memory out of that VM. And thanks to IOMMU, memory fragmentation is not an issue anymore here (which was initial reason why we disable meminfo-writer in PCI-having VMs). So, we can support VMs with PCI devices and dynamic memory management. But such a VM needs to have all its memory during its early startup (until balloon driver is loaded).
Actually, that last point may not be needed if we use memory hotplug, I've tested it some time ago and it just work. Require one option to be enabled in VM kernel (CONFIG_XEN_BALLOON_MEMORY_HOTPLUG). And adjustments to qmemman.
This will in practice allow to use some actual software in a VM with PCI device, not only be a proxy (for network, USB etc).
So, maybe the right thing to do is not move this logic into one place, but remove it entirely? And if someone want to disable dynamic memory management of a VMs, he/she can do it anyway. And salt can do it for sys-net/sys-usb if we think its appropriate.
|
Technically, HVM with PCI device cannot be started with maxmem > memory. But, when started, balloon driver can be used to take memory out of that VM. And thanks to IOMMU, memory fragmentation is not an issue anymore here (which was initial reason why we disable meminfo-writer in PCI-having VMs). So, we can support VMs with PCI devices and dynamic memory management. But such a VM needs to have all its memory during its early startup (until balloon driver is loaded). This will in practice allow to use some actual software in a VM with PCI device, not only be a proxy (for network, USB etc). So, maybe the right thing to do is not move this logic into one place, but remove it entirely? And if someone want to disable dynamic memory management of a VMs, he/she can do it anyway. And salt can do it for sys-net/sys-usb if we think its appropriate. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rootkovska
Oct 24, 2017
Member
Let's not be so fast about removing the option to disable mem balancing: we still offer an (easy) option to run VMs as PV and in the future might offer even more options.
|
Let's not be so fast about removing the option to disable mem balancing: we still offer an (easy) option to run VMs as PV and in the future might offer even more options. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Oct 24, 2017
Member
It's not about removing option to disable mem balancing. It's about doing it (or not) automatically depending on various factors (PCI device having here). The later, as you noticed, currently is very non intuitive currently.
|
It's not about removing option to disable mem balancing. It's about doing it (or not) automatically depending on various factors (PCI device having here). The later, as you noticed, currently is very non intuitive currently. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rootkovska
Oct 24, 2017
Member
Ok, so you're proposing to have no-meminfo-writer service key, instead, and if not present, then always start the service, right?
|
Ok, so you're proposing to have |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Oct 24, 2017
Member
Something like this - keep service.meminfo-writer name and always start the service, unless this feature is present and set to false.
|
Something like this - keep |
marmarek
referenced this issue
Oct 28, 2017
Closed
If meminfo-writer/qmemman needs to be disabled for VMs with PCI devices, it should be done by dom0 and not by the VM for PCI hotplug #3248
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
Nov 20, 2017
marmarek
closed this
in
marmarek/qubes-core-agent-linux@e53db13
Nov 20, 2017
added a commit
to marmarek/qubes-mgmt-salt-dom0-virtual-machines
that referenced
this issue
Nov 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package qubes-mgmt-salt-dom0-virtual-machines-4.0.7-1.fc25 has been pushed to the r4.0 testing repository for dom0.
To test this update, please install it with the following command:
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-dom0-cur-test
label
Nov 21, 2017
qubesos-bot
referenced this issue
in QubesOS/updates-status
Nov 21, 2017
Closed
mgmt-salt-dom0-virtual-machines v4.0.7 (r4.0) #302
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package qubes-core-agent_4.0.13-1+deb8u1 has been pushed to the r4.0 testing repository for the Debian jessie template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing jessie-testing, then use the standard update command:
sudo apt-get update && sudo apt-get dist-upgrade
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-jessie-cur-test
label
Nov 21, 2017
qubesos-bot
referenced this issue
in QubesOS/updates-status
Nov 21, 2017
Closed
core-agent-linux v4.0.13 (r4.0) #308
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package core-agent-linux has been pushed to the r4.0 testing repository for the CentOS centos7 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r4.0-current-testing
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-centos7-cur-test
label
Nov 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package qubes-core-agent_4.0.13-1+deb9u1 has been pushed to the r4.0 testing repository for the Debian stretch template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing stretch-testing, then use the standard update command:
sudo apt-get update && sudo apt-get dist-upgrade
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-stretch-cur-test
label
Nov 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package python2-dnf-plugins-qubes-hooks-4.0.13-1.fc24 has been pushed to the r4.0 testing repository for the Fedora fc24 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r4.0-current-testing
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-fc24-cur-test
label
Nov 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package python2-dnf-plugins-qubes-hooks-4.0.13-1.fc25 has been pushed to the r4.0 testing repository for the Fedora fc25 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r4.0-current-testing
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-fc25-cur-test
label
Nov 21, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Nov 21, 2017
Automated announcement from builder-github
The package python2-dnf-plugins-qubes-hooks-4.0.13-1.fc26 has been pushed to the r4.0 testing repository for the Fedora fc26 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r4.0-current-testing
qubesos-bot
commented
Nov 21, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-fc26-cur-test
label
Nov 21, 2017
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Nov 30, 2017
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Dec 5, 2017
marmarek
referenced this issue
in QubesOS/qubes-core-admin
Dec 5, 2017
Merged
Various fixes for tests and the code #171
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 11, 2017
Automated announcement from builder-github
The package qubes-core-agent_4.0.13-1+deb8u1 has been pushed to the r4.0 stable repository for the Debian jessie template.
To install this update, please use the standard update command:
sudo apt-get update && sudo apt-get dist-upgrade
qubesos-bot
commented
Dec 11, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
r4.0-jessie-stable
and removed
r4.0-jessie-cur-test
labels
Dec 11, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 11, 2017
Automated announcement from builder-github
The package qubes-core-agent_4.0.13-1+deb9u1 has been pushed to the r4.0 stable repository for the Debian stretch template.
To install this update, please use the standard update command:
sudo apt-get update && sudo apt-get dist-upgrade
qubesos-bot
commented
Dec 11, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
r4.0-stretch-stable
and removed
r4.0-stretch-cur-test
labels
Dec 11, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 11, 2017
Automated announcement from builder-github
The package core-agent-linux has been pushed to the r4.0 stable repository for the Fedora centos7 template.
To install this update, please use the standard update command:
sudo yum update
qubesos-bot
commented
Dec 11, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
r4.0-centos7-stable
and removed
r4.0-centos7-cur-test
labels
Dec 11, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 11, 2017
Automated announcement from builder-github
The package qubes-mgmt-salt-dom0-virtual-machines-4.0.7-1.fc25 has been pushed to the r4.0 stable repository for dom0.
To install this update, please use the standard update command:
sudo qubes-dom0-update
Or update dom0 via Qubes Manager.
qubesos-bot
commented
Dec 11, 2017
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
qubesos-bot
added
r4.0-dom0-stable
and removed
r4.0-dom0-cur-test
labels
Dec 11, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 12, 2017
Automated announcement from builder-github
The package python2-dnf-plugins-qubes-hooks-4.0.13-1.fc24 has been pushed to the r4.0 stable repository for the Fedora fc24 template.
To install this update, please use the standard update command:
sudo yum update
qubesos-bot
commented
Dec 12, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
r4.0-fc24-stable
and removed
r4.0-fc24-cur-test
labels
Dec 12, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 12, 2017
Automated announcement from builder-github
The package python2-dnf-plugins-qubes-hooks-4.0.13-1.fc25 has been pushed to the r4.0 stable repository for the Fedora fc25 template.
To install this update, please use the standard update command:
sudo yum update
qubesos-bot
commented
Dec 12, 2017
|
Automated announcement from builder-github The package
|
qubesos-bot
added
r4.0-fc25-stable
and removed
r4.0-fc25-cur-test
labels
Dec 12, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Dec 12, 2017
Automated announcement from builder-github
The package python2-dnf-plugins-qubes-hooks-4.0.13-1.fc26 has been pushed to the r4.0 stable repository for the Fedora fc26 template.
To install this update, please use the standard update command:
sudo yum update
qubesos-bot
commented
Dec 12, 2017
|
Automated announcement from builder-github The package
|
rootkovska commentedOct 24, 2017
Currently there is a somehow inconsistent algorithm used to determine whether to start the meminfo-writer service (Dynamic Memory Balancing) for the VM or not. Typically it is started whenever the
meminfo-writerservice key is present, except if the VM gets PCI devices assigned, when it is not started.Rather than having this weird logic in the code starting the service, move the logic away to the code which creates/disabled the service key creation. Thanks to this it will be much easier for both (advanced) users as well as other software (e.g. GUI manager) to find out if memory balancing is enabled for the VM or not.
Currently (4.0-rc2), Qubes Manager (i.e. the Settings window) displays wrong information for all device-hosting VMs, which is a direct result of the problem described here.