summary refs log tree commit diff stats
path: root/scripts/qapi-commands.py
diff options
context:
space:
mode:
authorWen Congyang <wency@cn.fujitsu.com>2015-07-27 10:24:18 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2015-08-14 23:40:32 +0200
commitc097a60b100c10d79d8bd5c91ce804e865d7e70b (patch)
tree4b202863ce7405d0b3ce148671395c0059d29ddf /scripts/qapi-commands.py
parent414b15c909c88e4cf5f10e80d033b3aa90bcc9e1 (diff)
downloadfocaccia-qemu-c097a60b100c10d79d8bd5c91ce804e865d7e70b.tar.gz
focaccia-qemu-c097a60b100c10d79d8bd5c91ce804e865d7e70b.zip
rcu: Allow calling rcu_(un)register_thread() during synchronize_rcu()
If rcu_(un)register_thread() is called together with synchronize_rcu(),
it will wait for the synchronize_rcu() to finish. But when synchronize_rcu()
waits for some events, we can modify the list registry.
We also use the lock rcu_gp_lock to assume that synchronize_rcu() isn't
executed in more than one thread at the same time. Add a new mutex lock
rcu_sync_lock to assume it and rename rcu_gp_lock to rcu_registry_lock.
Release rcu_registry_lock when synchronize_rcu() waits for some events.

Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Message-Id: <55B59652.4090503@cn.fujitsu.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/qapi-commands.py')
0 files changed, 0 insertions, 0 deletions