Can you elaborate? For kvm guests, the hardware is reasonably will implemented
and if not we will fix it. We need not cripple a feature just because some
hardware is broken.
The short version is I don't know what work arounds we will ultimately
decide to deploy to work with real hardware.
I have been seriously contemplating causing a cpu hot-unplug request
to fail if we are in ioapic mode and we have irqs routed to the cpu
that is being unplugged.
Even with perfectly working hardware it is not possible in the general
case to migrate an ioapic irq from one cpu to another outside of an
interrupt handler without without risking dropping an interrupt.
There is no general way to know you have seen the last interrupt
floating around your system. PCI ordering rules don't help because
the ioapics can potentially take an out of band channel.