Features/network reentrant: Difference between revisions

From QEMU
No edit summary
No edit summary
Line 1: Line 1:
The network layer re-entrant includes the following efforts:
= network layer re-entrant benefit =
  make the component of network run on multi-thread
  with glib, it is easy to do unit test


  re-entrant for network core
= network layer re-entrant includes =
  re-entrant for backend like tap
  re-entrant for frontend like virtio net


network core
  re-entrant of network core  
   The thread-safety of NetClientState, NetQueue and hub.  
  re-entrant of backend like tap
  re-entrant of frontend like virtio net
 
==network core==
   The thread safety issue focus on NetClientState, NetQueue and hub.  
   (proposal patches have been sent out. See:[PATCH v2 0/5] make netlayer re-entrant [http://www.mail-archive.com/qemu-devel@nongnu.org/msg159336.html])
   (proposal patches have been sent out. See:[PATCH v2 0/5] make netlayer re-entrant [http://www.mail-archive.com/qemu-devel@nongnu.org/msg159336.html])


backend
==backend==
   using glib as the event loop to make them thread safe
   make glib as the event loop for backends.
  consider about the race between the iohandler and NetClientInfo callback


frontend
==frontend==
   Depend on other Qemu subsystem's re-entrant. Currently, the main blockers are memory, interrupt.
   Depend on other Qemu subsystem's re-entrant. Currently, the main blockers are memory, interrupt.

Revision as of 01:46, 13 March 2013

network layer re-entrant benefit

 make the component of network run on multi-thread
 with glib, it is easy to do unit test

network layer re-entrant includes

 re-entrant of network core 
 re-entrant of backend like tap
 re-entrant of frontend like virtio net

network core

 The thread safety issue focus on NetClientState, NetQueue and hub. 
 (proposal patches have been sent out. See:[PATCH v2 0/5] make netlayer re-entrant [1])

backend

 make glib as the event loop for backends.
 consider about the race between the iohandler and NetClientInfo callback

frontend

 Depend on other Qemu subsystem's re-entrant. Currently, the main blockers are memory, interrupt.