[libvirt] [PATCH v2 00/24] Drop network driver lock

Michal Privoznik mprivozn at redhat.com
Thu Mar 5 11:05:01 UTC 2015


Yet another version. This time with:

1) Peter's review worked in

2) Even more patches, that allow even more parallelism. With my
   test program [1], I've been able to go from 56s to 23s.

1: https://www.redhat.com/archives/libvir-list/2015-February/msg01214.html

Michal Privoznik (24):
  network_conf: Introduce virNetworkObjListForEach
  network_conf: Introduce virNetworkObjListGetNames
  network_conf: Introduce virNetworkObjListNumOfNetworks
  network_conf: Introduce virNetworkObjListPrune
  bridge_driver: Adapt to new virNetworkObjList accessors
  test_driver: Adapt to new virNetworkObjList accessors
  parallels_network: Adapt to new virNetworkObjList accessors
  network_conf: Turn virNetworkObjList into virObject
  network_conf: Turn struct _virNetworkObjList private
  network_conf: Make virNetworkObj actually virObject
  virNetworkObjList: Derive from virObjectLockableClass
  network_conf: Introduce virNetworkObjEndAPI
  bridge_driver: Use virNetworkObjEndAPI
  test_driver: Use virNetworkObjEndAPI
  parallels_network: Use virNetworkObjEndAPI
  network_conf: Introduce locked versions of lookup functions
  virNetworkObjListPtr: Make APIs self-locking
  virNetworkObjFindBy*: Return an reference to found object
  bridge_driver: Drop networkDriverLock() from almost everywhere
  test_driver: Drop testDriverLock() from almost everywhere
  parallels_network: Drop parallelsDriverLock() from everywhere.
  bridge_driver: Use more of networkObjFromNetwork
  virNetworkObjUnsetDefTransient: Lock object list if needed
  virNetworkObjFindBy*: Don't lock all networks in the list

 cfg.mk                            |   3 -
 src/conf/network_conf.c           | 422 +++++++++++++++++++++++++-------
 src/conf/network_conf.h           |  52 ++--
 src/libvirt_private.syms          |  13 +-
 src/network/bridge_driver.c       | 500 ++++++++++++++------------------------
 src/parallels/parallels_network.c | 135 +++-------
 src/test/test_driver.c            | 185 +++-----------
 tests/networkxml2conftest.c       |   4 +-
 tests/objectlocking.ml            |   2 -
 9 files changed, 634 insertions(+), 682 deletions(-)

-- 
2.0.5




More information about the libvir-list mailing list