Re: [RFC 1/4] New virtio bus driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rusty Russell wrote:
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?


I thought that would help prevent races, but there's a much simpler way: the host sets an internal flag if an event happened since the last message was posted, etc. So one message should suffice.


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...

Yeah. Maybe just allow configuration messages on the regular virtqueues (they can cause a callback to be called, which parses the message and passes it to the function-call interface.

--
error compiling committee.c: too many arguments to function

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux