Go to file
Marek Marczykowski-Górecki 4dc8631010
Use maxmem=0 to disable qmemman, add more automation to it
Use maxmem=0 for disabling dynamic memory balance, instead of cryptic
service.meminfo-writer feature. Under the hood, meminfo-writer service
is also set based on maxmem property (directly in qubesdb, not
vm.features dict).
Having this as a property (not "feature"), allow to have sensible
handling of default value. Specifically, disable it automatically if
otherwise it would crash a VM. This is the case for:
 - domain with PCI devices (PoD is not supported by Xen then)
 - domain without balloon driver and/or meminfo-writer service

The check for the latter is heuristic (assume presence of 'qrexec' also
can indicate balloon driver support), but it is true for currently
supported systems.

This also allows more reliable control of libvirt config: do not set
memory != maxmem, unless qmemman is enabled.

memory != maxmem only makes sense if qmemman for given domain is
enabled.  Besides wasting some domain resources for extra page tables
etc, for HVM domains this is harmful, because maxmem-memory difference
is made of Popupate-on-Demand pool, which - when depleted - will kill
the domain. This means domain without balloon driver will die as soon
as will try to use more than initial memory - but without balloon driver
it sees maxmem memory and doesn't know about the lower limit.

Fixes QubesOS/qubes-issues#4135
2018-11-21 02:13:25 +01:00
ci Fix issues found by pylint 2.0 2018-07-15 23:51:15 +02:00
contrib events: add support for async event handlers 2017-07-04 13:04:22 +02:00
doc doc: document features, qvm-features-request and services 2018-10-23 16:53:35 +02:00
etc Replace pool config parsing logic 2016-04-25 07:16:37 +02:00
linux Handle qubes.skip_autostart option on kernel command line 2018-09-16 05:22:30 +02:00
qubes Use maxmem=0 to disable qmemman, add more automation to it 2018-11-21 02:13:25 +01:00
qubes-rpc Add qubes.GetDate proxy service 2018-03-03 03:50:58 +01:00
qubes-rpc-policy comments 2018-08-08 09:38:45 +00:00
qubespolicy tests/qubespolicy: adjust for removing 'assert' usage 2018-10-29 22:37:15 +01:00
qvm-tools add missing /sbin/ to hwclock call (so it will work as cronjob) 2018-09-10 17:24:35 +02:00
relaxng Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
rpm_spec tests: migrate qvm-block tests to core3 2018-10-10 00:44:15 +02:00
templates Use maxmem=0 to disable qmemman, add more automation to it 2018-11-21 02:13:25 +01:00
test-packages Fix starting VM with kernel=None 2017-12-14 23:26:52 +01:00
tests tests: migrate qvm-block tests to core3 2018-10-10 00:44:15 +02:00
.coveragerc add config for coverage.py 2015-10-12 16:40:46 +02:00
.gitignore run-tests: Script for running tests in repo 2016-04-20 13:54:56 +02:00
.pylintrc Remove obsolete options from .pylintrc 2016-07-21 12:21:00 +02:00
.travis.yml travis: flag codecov.io uploads with 'unittests' flag 2017-06-02 12:31:07 +02:00
installer.wxs windows/installer: configurable destination directory 2014-11-19 12:50:31 +01:00
LICENSE Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
Makefile tests: delete orphaned Makefile 2018-09-11 23:50:27 +00:00
Makefile.builder rpm: integrate -doc package into main one 2017-05-12 18:43:35 +02:00
README.md Update readme 2017-10-16 04:16:23 +02:00
run-tests tests: rearrage LVM thin tests to run at least some in devel env 2017-05-12 18:10:17 +02:00
setup.cfg Add yapf configuration to setup.cfg 2016-07-21 12:11:34 +02:00
setup.py Update windows-related feature requests 2018-07-16 22:02:58 +02:00
version version 4.0.34 2018-11-01 22:31:18 +01:00

Qubes core, version 3

Build Status

This is master branch of the Qubes OS core.

API documentation is available: https://dev.qubes-os.org/projects/core-admin/en/latest/.