qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/3] *** make netlayer re-entrant ***


From: mdroth
Subject: Re: [Qemu-devel] [PATCH 0/3] *** make netlayer re-entrant ***
Date: Tue, 5 Mar 2013 15:30:46 -0600
User-agent: Mutt/1.5.21 (2010-09-15)

On Sun, Mar 03, 2013 at 09:21:19PM +0800, Liu Ping Fan wrote:
> From: Liu Ping Fan <address@hidden>
> 
> This series aim to make netlayer re-entrant, so netlayer can
> run out of biglock safely.

I think most of the locking considerations are still applicable either
way, but this series seems to be written under the assumption that
we'll be associating hubs/ports with separate AioContexts to facilitate
driving the event handling outside of the iothread. Is this the case?

>From what I gathered from the other thread, the path forward was to
replace the global iohandler list that we currently use to drive
NetClient events and replace it with a GSource and GMainContext, rather
than relying on AioContexts.

I do agree that the event handlers currently grouped under
iohandler.c:io_handlers look like a nice fit for AioContexts, but other
things like slirp and chardevs seem better served by a more general
mechanism like GSources/GMainContexts. The chardev flow control patches
seem to be doing something similar already as well.

> 
> Liu Ping Fan (3):
>   net: spread hub on AioContexts
>   net: introduce lock to protect NetClientState's send_queue
>   net: make netclient re-entrant with refcnt
> 
>  hw/qdev-properties-system.c |   15 ++++++
>  include/block/aio.h         |    1 +
>  include/net/net.h           |   12 +++++
>  include/net/queue.h         |   15 ++++++
>  main-loop.c                 |    5 ++
>  net/hub.c                   |   81 ++++++++++++++++++++++++++++++--
>  net/net.c                   |  109 ++++++++++++++++++++++++++++++++++++++----
>  net/queue.c                 |   19 ++++++--
>  net/slirp.c                 |    3 +-
>  9 files changed, 239 insertions(+), 21 deletions(-)
> 
> -- 
> 1.7.4.4
> 



reply via email to

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