On Thu, Feb 11, 2016 at 01:28:47PM +0300, Pavel Fedin wrote: > Hello! > > vhost-user has a small limitation: guest memory must be shared. However, this simple requirement is satisfied by Libvirt only in > very complicated case: > 1. We have to specify NUMA configuration, because we can have "shared" attribute only for node descriptors inside "NUMA" section. > 2. We have to specify huge page size, because memory-backend-file is used only in this case. > > Isn't it a problem? In order to do a simple thing (use vhost-user) we have to add two more quote unobvious things, making the whole > stuff significantly more complicated. This creates even more problems on the level above, for example in order to get OpenStack > working with userspace networking, we have to edit all flavors and rebuild all instances. And no single documentation mentions it. > > Shouldn't Libvirt simply detect usage of vhost-user, and build some minimal configuration with shared memory? For example, it could > be memory-backend-file on /dev/mem. > If the community agrees that it's a good idea, improving the usability, i can propose patches. Historically QEMU had a pointless check on the path passed in, to enforce that it was only hugetlbfs, so could not just pass in a regular tmpfs file. I think we removed that in QEMU 2.5. I think it is a valid enhance <memoryBacking> to allow specification of "shared" memory backing which would be mapping to a regular tmpfs. I don't think we should magically do anything based on existance of vhost-user though - changes in way the guest memory is allocated should always require explicit user configuration. We could however report an error VIR_ERR_CONFIG_UNSUPPORTED if the user provided a vhost-user device and forgot to request shared memory, given that its an unusable combination. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list