On Thu, Jun 13, 2013 at 05:03:00PM +0800, Liu Ping Fan wrote: > Currently, I drop slirp and frontend related code (I guess I can reuse some > code by mdroth's QContext later). And this series only resolve the net core > re-entrant problem. > > v1->v2: > introduce netqueue re-entrant detection and defer it to BH > > Liu Ping Fan (6): > net: introduce lock to protect NetQueue > net: introduce lock to protect NetClientState's peer's access > net: make netclient re-entrant with refcnt > net: force NetQue opaque to be NetClientState > net: defer nested call to BH > net: hub use lock to protect ports list > > hw/core/qdev-properties-system.c | 14 +++++ > include/net/net.h | 10 ++++ > include/net/queue.h | 2 +- > net/hub.c | 28 ++++++++- > net/net.c | 124 > +++++++++++++++++++++++++++++++++++++-- > net/queue.c | 57 ++++++++++++++++-- > net/slirp.c | 3 +- > 7 files changed, 225 insertions(+), 13 deletions(-)
I've replied with comments for the obvious issues I noticed. For the next revision I'll apply the patches and do a global review of the rx/tx/add/del paths because it's hard to really review this patch-by-patch.
