On (Mon) Jun 01 2009 [11:43:27], Michael S. Tsirkin wrote:
> On Mon, Jun 01, 2009 at 02:05:10PM +0530, Amit Shah wrote:
> > On (Mon) Jun 01 2009 [11:11:06], Michael S. Tsirkin wrote:
> > > On Mon, Jun 01, 2009 at 01:33:48PM +0530, 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.
> > > 
> > > How, specifically?
> > 
> > I'm not sure; I was wanting to know if they will.
> 
> Yes, probably.
> 
> > I suspect this piece
> > of code though:
> > 
> > in vp_find_vqs, just before calling vp_find_vq:
> > 
> >     /* How many vectors would we like? */
> >     for (i = 0; i < nvqs; ++i)
> >             if (callbacks[i])
> >                     ++vectors;
> > 
> >     err = vp_request_vectors(vdev, vectors);
> >     if (err)
> >             goto error_request;
> > 
> > Will any adjusting be needed for the 'vectors' argument (since it's
> > considered to be the max value one can specify)?
> > 
> >             Amit
> 
> Right. And it can only be called once. And something'll have to be done
> on cleanup as well.

Yes; that's the assumption find_vqs currently makes. I'll take a stab at
reworking this code.

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

Reply via email to