On Tue, Jun 02, 2009 at 10:39:16PM +0530, Amit Shah wrote: > On (Tue) Jun 02 2009 [19:32:27], Michael S. Tsirkin wrote: > > On Tue, Jun 02, 2009 at 08:53:07AM +0930, Rusty Russell wrote: > > > On Mon, 1 Jun 2009 05:33:48 pm Amit Shah wrote: > > > > Hello, > > > > > > > > The recent find_vqs operation doesn't allow for a vq to be found at an > > > > arbitrary location; it's meant to be called once at startup to find all > > > > possible queues and never called again. > > > > > > > > This doesn't work for devices which can have queues hot-plugged at > > > > run-time. This can be made to work by passing the 'start_index' value as > > > > was done earlier for find_vq, but I doubt something like the following > > > > will work. The MSI vectors might need some changing as well. > > > > > > There's a fundamental conflict here: find_vqs was added so the PCI MSI code > > > knows exactly how many virtqueues there are. > > > > > > So you'll need to sort this out with Michael... > > > > > > Thanks, > > > Rusty. > > > > I'd like to understand the expected usage some more. If there's still a > > small # of hotpluggable queues known in advance, you can request all > > vectors but have the queues disabled, and then enable as queues arrive. > > In that case, something like resize_queue or enable_queue might be a > > good idea. > > Yes, it sounds like a good idea and I was debating this exact question > -- how many queues should I expect. I currently don't expect more than > 20 but even that sounds like a largish number. > > > OTOH, if you want to have a potentially unlimited number of queues, > > you will have to allocate a common vector for all of them > > as on intel we are limited to 256 total vectors for all devices > > taken together. Not sure what a good API for that would be. > > A common vector for all the queues in the device, right? And will that > also mean each queue gets woken up on any activity on any one of them? > > Amit Yes. This is what find_vqs currently does if it can't allocate a queue per VQ (actually, per queue with callback: your queues do have callbacks?). Of course we can start contemplating more complicated options for mapping queues to vectors, and the guest/host ABI supports this. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization