On Sun, Mar 03, 2013 at 09:21:19PM +0800, Liu Ping Fan wrote:
> From: Liu Ping Fan <pingf...@linux.vnet.ibm.com>
> 
> 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