On Thu, Mar 14, 2013 at 05:08:22PM +1030, Rusty Russell wrote: > "Michael S. Tsirkin" <mst@xxxxxxxxxx> writes: > > On Wed, Mar 13, 2013 at 05:19:51PM +1030, Rusty Russell wrote: > >> OK, I've been trying to read the vhost and vhost net code, and I'm > >> struggling with basic questions. > >> > >> 1) Why do we allow userspace to change an already-set-up vhost device? > >> Why not have: > >> open() > >> ioctl(VHOST_GET_FEATURES) > >> ioctl(VHOST_SET_VRING) x n (sets num, addresses, kick/call/err fds) > >> ioctl(VHOST_NET_SETUP) > >> ... > >> close() > >> > >> You're not allowed to call things twice: to reset, you close and > >> reopen. That would save a lot of code which I'm not sure is correct > >> anyway. > > > > This won't work for the usecases we have in qemu. > > The way things are setup currently, qemu typically does not have > > the rights to open any char devices, instead it is passed an fd. By the way at least for the guest callback eventfd, we currently use the ability to switch it on the fly for when guest wants to mask the interrupt. At some level, this could be considered an argument that initialization order is a policy best let for userspace. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization