Description of problem: When creating a guest with libvirt for KVM real-time, we always drop unneeded devices from the domain's XML leading to a very minimal hardware support for a guest. We do this for two reasons: 1. We just don't know at this point which drivers in the guest may be real-time unfriendly, which could cause latency spikes during real-time operation (eg. a driver that creates a polling thread on all CPUs) 2. We know that some hardware does cause problems with real-time in bare-metal (eg. legacy USB support), but we don't know whether such hardware will also be problematic in guests Maybe we'll have some kind of device validation in the future, but for now we're playing safe and dropping all the unnecessary devices from the XML. The list of dropped devices includes: - All USB support - All SPICE support and QXL hardware - virtio serial and guest agent sockets - Sound card Needless to say, but we keep some virtio devices like the disk and the NIC. Having the disk or the NIC as emulated devices _might_ be OK as long as the real-time thread don't do I/O to them. If OpenStack, or another virt stack component, has a specific request for a missing device we could try to validate it and include it. Version-Release number of selected component (if applicable): OSP8 How reproducible: Always Steps to Reproduce: 1. Create a realtime KVM guest, with "unneeded" devices listed above; 2. Observe the presence of these "unneeded" devices in the domain XML. Actual results: Inappropriate devices (such as emulated devices) may be included in the realtime guest. These inappropriate devices may lead to undesirable latency spikes. Expected results: "Unneeded devices" (or inappropriate devices for realtime) should be removed from the XML. Additional info:
Sahid is there anything up for this for Ocata? Just attempting to clean up the BZ queue. It's not really clear to me that the list of devices is well defined at this stage.
We do not define such devices automatically in Nova. So I guess we can document somewhere that a host configured for realtime should no be configured to use serial console, usb tablet and spice. - All USB support - All SPICE support and QXL hardware - virtio serial and guest agent sockets This one is just not supported - Sound card
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days