Re: virtio config_ops refactoring

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

 



Rusty Russell wrote:
On Wednesday 07 November 2007 04:48:35 Anthony Liguori wrote:
Semantically, find requires that a field have both a type and a length.
With the exception of the VIRTQUEUE field used internally by lguest,
type is always a unique identifier.  Since virtqueue information is not
a required part of the config space, it seems to me that type really
should be treated as a unique identifier.

Hi Anthony,

	Not sure I get this.  It is a unique identifier.  You need the length
to handle unknown fields.

It's not a unique identifier since it can be used for multiple items (like it is for virtqueues configs).

find_vq also is curious in that it is stateful in it's enumeration.

Well, they're *all* stateful. This gives a simple method of knowing what fields the guest understands: it marks the fields as it finds them. Then it sets the status, which allows the host to know when it's completed configuration reads.

But PCI device configuration is not stateful. If you care about letting the host know what features a guest understands, I think something more explicit and stateful should be used. For instance, a feature register that stores a bitmap.

Otherwise, the host has to infer based on what fields that guest has read what features the guest actually supports. That seems error prone to me.

I like enumerating the virtqueues: it's not necessary but it's clearer.

This adds seemingly unnecessary complexity.

I'd be happy for a simpler mechanism...

What do you think of what I proposed?  It seems simpler to me.

Regards,

Anthony Liguori

Cheers,
Rusty.

_______________________________________________
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