tenant contol of qemu performance monitoring unit

Registered by sean mooney on 2019-01-07

qemu/kvm supports emulation of a vPMU to enable standard performance monitoring tools such as perf to be used
within a virtualisation environment. The vPMU which is available on x86 cpus emulate the hardware PMU
found on intel processors and was introduced in kvm in kernel 3.3.1.

while kvm/qemu support for a vPMU is generally a useful feature the requirement to collect and maintain
virtual performance counter introduces additional latency ~10us which is about 1% of the total budget
for 5G traffic processing.

libvirt introduced support for vPMU control in 1.2.12
see https://libvirt.org/formatdomain.html#elementsFeatures
so this feature is available in our minimum supported libvirt of 1.3.1 .

This specless blueprint proposes adding a tristate image metadata key hw_pmu=True|false|<none> (default:<none>)
and a corresponding flavor extra spec hw:pmu=true|false|<none> (default:<none>)
to enable/disable the pmu explcitly with a default of none which will skip emmiting the
pmu element allowing libvirt/qemu to implement there default policy as it does today.

if approved https://github.com/openstack/glance/blob/master/etc/metadefs/compute-libvirt.json
will be updated with the new value and the flavor docs https://docs.openstack.org/nova/latest/user/flavors.html
will be extended appropriately.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
sean mooney
Direction:
Needs approval
Assignee:
sean mooney
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

On the nova meeting there was not enough cores to decide the fate of this bp for Stein. It feels a quick spec would be good about the flavor exta_spec but that most probably means that this bp will slip to Train. -- gibi 20190110

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.