Mark McLoughlin wrote: > On Wed, 2009-05-27 at 15:11 +0300, Avi Kivity wrote: > > >> Multiple cookies on the same address are required by virtio. You can't >> mux since the data doesn't go anywhere. >> >> Virtio can survive by checking all rings on a notify, and we can later >> add a mechanism that has a distinct address for each ring, but let's see >> if we can cope with multiple cookies. Mark? >> > > Trying to catch up, but you're talking about replacing virtio-pci > QUEUE_NOTIFY handling with iosignalfd ? > > For a perfect replacement, what you really need is to be able to > register multiple cookies per address range, but only have them trigger > if the written data matches a provided value. > Hmm..thats an interesting idea. To date, the "cookie" has really been for identifying the proper range selected for deassignment. I never thought of using it as an actual trigger value at run-time. > If the data is lost, virtio has no way of knowing which queue is being > notified, so we either end up with per-device, rather than per-queue, > notifications (probably not too bad for net, at least) or a different > notify address per queue (limiting the number of queues per device). > The addr-per-queue is how I was envisioning it, but the trigger value concept hadn't occurred to me. I could make this an option during assignment (e.g. "COOKIE" flag means only trigger on writes of the provided cookie, otherwise trigger on any write). Sound good? Thanks Mark, -Greg
Attachment:
signature.asc
Description: OpenPGP digital signature