Add man-page and notes about custom CPU models

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
This commit is contained in:
Stefan Reiter 2020-06-18 15:44:55 +02:00 committed by Thomas Lamprecht
parent 04d22a9f94
commit 9e797d8c2c
4 changed files with 108 additions and 0 deletions

View File

@ -53,6 +53,7 @@ GEN_SCRIPTS= \
gen-pct-network-opts.pl \ gen-pct-network-opts.pl \
gen-pct-mountpoint-opts.pl \ gen-pct-mountpoint-opts.pl \
gen-qm.conf.5-opts.pl \ gen-qm.conf.5-opts.pl \
gen-cpu-models.conf.5-opts.pl \
gen-qm-cloud-init-opts.pl \ gen-qm-cloud-init-opts.pl \
gen-vzdump.conf.5-opts.pl \ gen-vzdump.conf.5-opts.pl \
gen-pve-firewall-cluster-opts.pl \ gen-pve-firewall-cluster-opts.pl \

82
cpu-models.conf.adoc Normal file
View File

@ -0,0 +1,82 @@
ifdef::manvolnum[]
cpu-models.conf(5)
==================
:pve-toplevel:
NAME
----
cpu-models.conf - Custom CPU model configuration file
SYNOPSIS
--------
'/etc/pve/virtual-guest/cpu-models.conf'
DESCRIPTION
-----------
endif::manvolnum[]
ifndef::manvolnum[]
Custom CPU Model Configuration
==============================
endif::manvolnum[]
ifdef::wiki[]
:pve-toplevel:
:title: Manual: cpu-models.conf
endif::wiki[]
The `/etc/pve/virtual-guest/cpu-models.conf` file stores custom CPU
models, which can be used by VMs to get access to advanced CPU
features (for example custom CPU flags).
File Format
-----------
CPU models each have their own section in the file, beginning with
the header:
cpu-model: <name>
Note that <name> does not include the 'custom-' prefix, which is
required in VM configs to denote custom CPU models.
For example, if the <name> is 'foobar', the CPU for a VM would need to be
configured as 'custom-foobar'.
Each section can specify several options. They are indented by either one TAB
character or multiple spaces. Every option and its value is separated by one
space, for example:
reported-model qemu64
See below for all available options.
Blank lines and those starting with a `#` are ignored.
Options
-------
include::cpu-models.conf.5-opts.adoc[]
Example File
------------
----
cpu-model: avx
flags +avx;+avx2
phys-bits host
hidden 0
hv-vendor-id proxmox
reported-model kvm64
----
ifdef::manvolnum[]
include::pve-copyright.adoc[]
endif::manvolnum[]

14
gen-cpu-models.conf.5-opts.pl Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/perl
use lib '.';
use strict;
use warnings;
use PVE::RESTHandler;
use PVE::QemuServer::CPUConfig;
my $prop = PVE::QemuServer::CPUConfig::add_cpu_json_properties({});
# cputype is given as section header and explained seperately
delete $prop->{cputype};
print PVE::RESTHandler::dump_properties($prop);

11
qm.adoc
View File

@ -352,6 +352,17 @@ the kvm64 default. If you dont care about live migration or have a homogeneou
cluster where all nodes have the same CPU, set the CPU type to host, as in cluster where all nodes have the same CPU, set the CPU type to host, as in
theory this will give your guests maximum performance. theory this will give your guests maximum performance.
Custom CPU Types
^^^^^^^^^^^^^^^^
You can specify custom CPU types with a configurable set of features. These are
maintained in the configuration file `/etc/pve/virtual-guest/cpu-models.conf` by
an administrator. See `man cpu-models.conf` for format details.
Specified custom types can be selected by any user with the `Sys.Audit`
privilege on `/nodes`. When configuring a custom CPU type for a VM via the CLI
or API, the name needs to be prefixed with 'custom-'.
Meltdown / Spectre related CPU flags Meltdown / Spectre related CPU flags
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^