On 05/25/2010 08:19 AM, Avi Kivity wrote:
On 05/25/2010 04:03 PM, Anthony Liguori wrote:
I don't think that qdev device names and paths are something we
have to worry much about changing over time since they reflect
logical bus layout. They should remain static provided the devices
remain static.
Modulo mistakes. We already saw one (lack of pci domains). To
reduce the possibility of mistakes, we need reviewable documentation.
pci domains was only a mistake as a nice-to-have. We can add pci
domains in a backwards compatible way.
It adds a new level to the qdev tree.
The tree is not organized like that today. IOW, the PCI hierarchy is
not reflected in the qdev hierarchy. All PCI devices (regardless of
whether they're a function or a full slot) simply sit below the PCI bus.
The arguments you're making about the importance of backwards
compatibility and what's needed to strongly guarantee it are equally
applicable to the live migration protocol. We really do need to
formally document the live migration protocol in such a way that it's
reviewable if we hope to truly make it compatible across versions.
Mostly agreed. I think live migration has a faster/easier deprecation
schedule (easier not to support migration from 0.n-k to 0.n than to
remove qmp support for a feature introduced in 0.n-k when releasing
0.n). But that's a minor concern, improving our externally visible
interface documentation is a good thing and badly needed.
Regards,
Anthony Liguori