On 28.05.19 16:54, Vasilis Liaskovitis wrote:
Currently runtime parameters of the hypervisor cannot be inspected through an
xl command, however they can be changed with the "xl set-parameter" command.
Being able to check these parameters at runtime would be a useful diagnostic
tool.
This patch series implements a new xl command "xl get-parameters"
which takes a string of input parameters and returns their current
values in the hypervisor settings.
Examples:
xl get-parameters "gnttab_max_frames gnttab_max_maptrack_frames"
gnttab_max_frames gnttab_max_maptrack_frames : 64 1024
xl set-parameters gnttab_max_frames=128
xl get-parameters gnttab_max_frames
gnttab_max_frames : 128
xl get-parameters "gnttab_max_frames gnttab_max_maptrack_frames"
gnttab_max_frames gnttab_max_maptrack_frames : 128 1024
Changes v3->v4:
- Fix return value and logging in new libxl function.
Changes v2->v3:
- Several style / formatting fixes
- Limitations for signed integer parameters added in code and commit log.
Changes v1->v2:
- fixed snprintf issues, fixed memory leaks and error handling
- removed unnecessary wrapper function
- OPT_SIZE is handled
Limitations:
- Custom runtime parameters (OPT_CUSTOM) are not supported yet. I'd like
to do this in a follow-up series. See also discussion at
https://lists.xenproject.org/archives/html/xen-devel/2019-03/msg01383.html
- For integer parameters (OPT_UINT), only unsigned parameters are printed
correctly at the moment.
Vasilis Liaskovitis (4):
xen: add hypercall for getting parameters at runtime
libxc: add function to get hypervisor parameters
libxl: add libxl_get_parameters() function
xl: add new xl command get-parameters
docs/man/xl.1.pod.in | 5 ++
tools/flask/policy/modules/dom0.te | 2 +-
tools/libxc/include/xenctrl.h | 1 +
tools/libxc/xc_misc.c | 26 ++++++
tools/libxl/libxl.c | 19 +++++
tools/libxl/libxl.h | 1 +
tools/xl/xl.h | 1 +
tools/xl/xl_cmdtable.c | 5 ++
tools/xl/xl_misc.c | 25 ++++++
xen/common/kernel.c | 118 ++++++++++++++++++++++++++++
xen/common/sysctl.c | 52 +++++++++++-
xen/include/public/sysctl.h | 18 +++++
xen/include/xen/lib.h | 1 +
xen/xsm/flask/hooks.c | 3 +
xen/xsm/flask/policy/access_vectors | 2 +
15 files changed, 276 insertions(+), 3 deletions(-)
At the Xen developers summit last week in Chicago there was a related
discussion. The basic outcome was that there is some need for a generic
framework to report hypervisor settings to dom0, especially for the
currently active mitigation settings of cpu vulnerabilities. The most
appropriate solution seems to be a hierarchical key-value store in the
hypervisor which can be queried via a new interface. The same interface
would be usable for reading hypervisor parameters, too.
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel