On Mon, 2007-07-09 at 15:09 +0300, Avi Kivity wrote:
> Arnd Bergmann wrote:
> > 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.

But there can always be another reconfig about to happen after whatever
the guest is processing now.  Is there any point in the guest doing
anything other than one at a time, in order?

> Rusty, If you agree with this, I think it needs to be added to the core 
> protocol.

Well, using an "events" virtqueue in the core means existing virtual I/O
mechanisms need to fake one up on the guest.  Using a function-call
interface is more natural (and doesn't stop a virtio layer from using an
events virtqueue and demuxing).

Also, are we sure about the assumption that events won't have ordering
constraints wrt other queues?  For example, a media change event might;
I don't know the semantics required there...

Rusty.


_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to