OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

virtio message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [virtio] [OASIS Issue Tracker] Updated: (VIRTIO-11) Method to stop activity on a queue?

Cornelia Huck <cornelia.huck@de.ibm.com> writes:
> On Fri, 25 Oct 2013 13:16:01 +1030
> Rusty Russell <rusty@au1.ibm.com> wrote:
>> And it could be done for MMIO by setting QueuePFN to zero, though the
>> spec should specify that as allowed on a live device.
>> I'm not sure the best way to add this functionality to CCW.  Cornelia?
> I'm not quite sure what the requirements are here.
> - Allow the guest to deregister a single vq? The SET_VQ command should
>   be able to do that; we would need to make it amply clear that this can
>   be done in-flight, though.
> - Allow the guest to tell the host to leave a queue alone for a time?
>   The best approach for that would probably be a new command (or a
>   hypercall) passing a queue-active mask; this would allow the guest to
>   re-enable queue usage later on.
> - Or the reverse: Allow the host to temporarily halt processing.
>   Probably with unsolicited interrupts indicating a state change,
>   similar to what storage servers do. This would be per-device, however.

Yes, the guest would tell the host to stop looking at the queue.

For example, the Linux virtio net driver currently is a bit weird.
Network drivers have init like any other driver, but they have open and
stop callbacks, for when the network layers want to access them.

We'd normally allocate receive bufs in open and release them in stop,
but we can't get our buffers back without resetting the device.

Similarly, when we go from multiqueue to single queue, it'd be nice to
be able to free up those buffers.

It generally seems like a nice feature to have, to stop the host looking
at a queue while we do arbitrary changes.

Hope that clarifies,

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]