[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v5 00/14] port network layer onto glib
From: |
Liu Ping Fan |
Subject: |
[Qemu-devel] [RFC PATCH v5 00/14] port network layer onto glib |
Date: |
Fri, 26 Apr 2013 10:47:21 +0800 |
From: Liu Ping Fan <address@hidden>
summary:
patch1: GSource event abstraction
patch2~6: port network backend to glib
patch7~10: make network core re-entrant
patch11~14: port the slirp backend onto glib
v4->v5:
1.use GList to reimplement EventsGSource
2.make readable()/writable() return events which the backend is interested in
3.fix the slirp->lock's potential deadlock issue
v3->v4:
1.separate GSource event to dedicated file
2.integrated with net core re-entrant
3.make slirp/ re-entrant
v2->v3:
1.drop hub and the frontend(virtio net)
2.split the patch for NetClientSource
v1->v2:
1.NetClientState can associate with up to 2 GSource, for virtio net, one for
tx, one for rx,
so vq can run on different threads.
2.make network front-end onto glib, currently virtio net dataplane
Liu Ping Fan (14):
util: introduce gsource event abstraction
net: introduce bind_ctx to NetClientInfo
net: port tap onto GSource
net: port vde onto GSource
net: port socket to GSource
net: port tap-win32 onto GSource
net: hub use lock to protect ports list
net: introduce lock to protect NetQueue
net: introduce lock to protect NetClientState's peer's access
net: make netclient re-entrant with refcnt
slirp: make timeout local
slirp: make slirp event dispatch based on slirp instance, not global
slirp: handle race condition
slirp: use lock to protect the slirp_instances
hw/qdev-properties-system.c | 14 +
include/net/net.h | 12 +
include/qemu/module.h | 2 +
main-loop.c | 4 -
net/hub.c | 28 ++-
net/net.c | 123 ++++++++-
net/queue.c | 15 +-
net/slirp.c | 35 +++-
net/socket.c | 196 ++++++++++---
net/tap-win32.c | 31 ++-
net/tap.c | 64 ++++-
net/vde.c | 31 ++-
slirp/if.c | 57 +++-
slirp/libslirp.h | 7 +-
slirp/main.h | 3 +-
slirp/mbuf.h | 2 +
slirp/slirp.c | 670 ++++++++++++++++++++++---------------------
slirp/slirp.h | 11 +-
slirp/socket.c | 2 +
slirp/socket.h | 1 +
stubs/slirp.c | 8 -
util/Makefile.objs | 1 +
util/event_gsource.c | 158 ++++++++++
util/event_gsource.h | 49 ++++
24 files changed, 1104 insertions(+), 420 deletions(-)
create mode 100644 util/event_gsource.c
create mode 100644 util/event_gsource.h
--
1.7.4.4