Hi,

I'm trying to understand contexts and handlers/notifiers and a bit confused about two contexts living in main loop: qemu_aio_context and iohandler_ctx. It is mentioned in the iohandler_ctx comment that qemu_aio_context can't be reused because "iohandlers mustn't be polled by aio_poll(qemu_aio_context)" but there is no exlanation why.

I tried to find examples and failed to understand why virtio-net eventfds are registred to iohandler_ctx with generic virtio callback virtio_device_start_ioeventfd_impl() but TX bottom-half and handlers of back-end TAP use qemu_aio_context.

Can you explain a little bit why we need some fds to be polled and some not to be polled? And how can I choose which context is right for me?

Thanks in advance for your help!

Anton


Reply via email to