Re: [RFC 1/4] New virtio bus driver
From: Avi Kivity <hidden>
Date: 2007-07-09 12:09:35
Arnd Bergmann wrote:
On Monday 09 July 2007, Avi Kivity wrote:quoted
quoted
The problem with hotplugging devices on PCI is that there is not a good standard for this yet. The best option we have is probably PCI express hotplug, but I'm not sure how many legacy operating systems already support this.This is indeed a problem. Perhaps we should have a virtqueue for reconfiguration (with a couple of read messages always queued for host-side changes, and a write message sent when the guest reconfigures).Yes, that would be my preferred solution as well. For devices that need reconfiguration capability, one virtqueue for all out-of-band information should be enough, with device specific messages. Why do you think we want to have multiple outstanding read messages? I would guess that a single message is enough, you can always requeue it after one event gets processed.
Suppose there is one message queued. The host reconfigures and sends the message. A new reconfiguration event now cannot be propagated. If there are two messages queued, the host can post the updates in the second message. The guest would then post two new messages (since it can't tell whether any reconfiguration events occured after the second message), the host would fill one, and everyone is happy. Rusty, If you agree with this, I think it needs to be added to the core protocol. [btw, virtbus could be implemented atop virtqueue as well] -- error compiling committee.c: too many arguments to function