Add "hvm-pirq" platform key - #7235
Conversation
The HVM PIRQ feature is known to have compatibility issues with some AMD GPUs. It has been disabled by default in Xenlight version 024e7131be5c. Add a platform control for hvm-pirq to allow it to be disabled. Also add it to the filtered_flags list to prevent it from being disabled by the platform_filter feature. Tested-by: Teddy Astie <teddy.astie@vates.tech> Signed-off-by: Tu Dinh <ngoc-tu.dinh@vates.tech>
last-genius
left a comment
There was a problem hiding this comment.
What's the issue with disabling PIRQs for new VMs altogether? From reading the upstream threads, it's either causing breakages, slowing things down, or not being used altogether (with virtualized local APIC active).
I don't think there's an issue with disabling it by default. Is there a migration path I could use for existing VMs? |
Then it should just be enough to change the default in
Existing VMs will keep the flags they booted up with, and be updated on reboot (only new domains call into |
Existing VMs that don't have this flag set would still need the |
No, VMs keep their boot flags on migration/suspend/resume (hence, in Teddy's testing, changing platform flags only had an impact after a reboot): |
|
HVM PIRQs should never have existed in the first place, but alas. Compatibility wise, what is critical is that this doesn't get turned off behind the back of a migrating/resuming VM. Beyond that, it should be off-by-default for newly-booted VMs, and with an option to turn back on as a debugging strategy. |
|
One path which has been a source of bugs in the past is the metadata upgrade for incoming VMs which don't have a last-boot record, or have an incomplete one. That path must assume the worst case for the VM when synthesizing the old state. |
The HVM PIRQ feature is known to have compatibility issues with some AMD GPUs. It has been disabled by default in Xenlight version 024e7131be5c.
Add a platform control for hvm-pirq to allow it to be disabled. Also add it to the filtered_flags list to prevent it from being disabled by the platform_filter feature.
Tested-by: Teddy Astie teddy.astie@vates.tech