qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/9] introduce virtio net dataplane


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 0/9] introduce virtio net dataplane
Date: Fri, 22 Feb 2013 09:53:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

Il 22/02/2013 00:38, mdroth ha scritto:
> On Thu, Feb 21, 2013 at 11:12:01PM +0100, Paolo Bonzini wrote:
>> Il 21/02/2013 22:07, mdroth ha scritto:
>>>>>
>>>>> 100% agree.  In particular hw/dataplane/event-poll.c should be the first
>>>>> to go away, but AioContext provides the functionality that Ping Fan
>>>>> needs.  But hw/dataplane/vring.c will probably be here for a longer
>>> Has there been any discussion around introducing something similar to
>>> AioContexts for fd handlers? This would avoid the dataplane-specific hooks
>>> needed for NetClients in this series.
>>
>> AioContext can include file descriptors on POSIX systems (used for NBD
>> and other network backends), see aio_set_fd_handler.
> 
> Sorry, was using "fd handlers" too generally. I mean specifically for
> the qemu_set_fd_handler interfaces, where we currently rely on a single list
> of IOHandlerRecords for registration and a single loop to drive them. Would
> be nice if we could drive subsets of those via mini main loops, similar to the
> way dataplane threads would with a particular AioContext via aio_poll (or 
> perhaps
> the exact same way)

Yes, that's what I meant actually.  You can already do it for POSIX,
unfortunately Windows poses extra complication because sockets are not
handles.

Moving more of the os_host_main_loop_wait to AioContext would be
possible (timers are on the todo list, in fact), but we should only do
it as need arises.

Paolo

> Currently, Ping Fan's patches basically do this already by accessing a
> global reference to the vnet worker thread and attaching events/handlers to
> it's event loop via a new set of registration functions (PATCH 7).
> 
> I think generalizing this by basing qemu_set_fd_handler() around
> AioContext, or something similar, would help to extend support to other
> NetClient implementations without requiring dataplane-specific hooks
> throughout.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]