qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/5] Automatic RCU read unlock
@ 2019-09-11 19:06 Dr. David Alan Gilbert (git)
  2019-09-11 19:06 ` [Qemu-devel] [PATCH v2 1/5] rcu: Add automatically released rcu_read_lock variant Dr. David Alan Gilbert (git)
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2019-09-11 19:06 UTC (permalink / raw)
  To: qemu-devel, pbonzini, ehabkost, berrange, quintela

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>


This patch uses glib's g_auto mechanism to automatically free
rcu_read_lock's at the end of the block.  Given that humans
have a habit of forgetting an error path somewhere it's
best to leave it to the compiler.

(Note I've found the actual cause of my deadlock actually
isn't a misisng unlock; it's a lock ordering thing)

v2
  Rework auto mechanism based on Dan and Eduardo's comments
  Add some more uses in memory/exec
  Add a missing unlock in a function I've not used the macro in

Dr. David Alan Gilbert (5):
  rcu: Add automatically released rcu_read_lock variant
  migration: Use automatic rcu_read unlock in ram.c
  migration: Use automatic rcu_read unlock in rdma.c
  rcu: Use automatic rc_read unlock in core memory/exec code
  migration: Missing rcu_read_unlock

 exec.c                  | 46 ++++++++++-----------------------
 include/exec/ram_addr.h |  8 ++----
 include/qemu/rcu.h      | 18 +++++++++++++
 memory.c                | 15 ++++-------
 migration/ram.c         | 26 ++++++++-----------
 migration/rdma.c        | 57 ++++++++---------------------------------
 6 files changed, 60 insertions(+), 110 deletions(-)

-- 
2.21.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-09-13 10:33 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-11 19:06 [Qemu-devel] [PATCH v2 0/5] Automatic RCU read unlock Dr. David Alan Gilbert (git)
2019-09-11 19:06 ` [Qemu-devel] [PATCH v2 1/5] rcu: Add automatically released rcu_read_lock variant Dr. David Alan Gilbert (git)
2019-09-12  9:35   ` Daniel P. Berrangé
2019-09-12 12:30   ` Paolo Bonzini
2019-09-12 17:45     ` Dr. David Alan Gilbert
2019-09-13  7:13       ` Paolo Bonzini
2019-09-13 10:24         ` Dr. David Alan Gilbert
2019-09-13 10:29           ` Paolo Bonzini
2019-09-11 19:06 ` [Qemu-devel] [PATCH v2 2/5] migration: Use automatic rcu_read unlock in ram.c Dr. David Alan Gilbert (git)
2019-09-12  9:37   ` Daniel P. Berrangé
2019-09-11 19:06 ` [Qemu-devel] [PATCH v2 3/5] migration: Use automatic rcu_read unlock in rdma.c Dr. David Alan Gilbert (git)
2019-09-12  9:37   ` Daniel P. Berrangé
2019-09-11 19:06 ` [Qemu-devel] [PATCH v2 4/5] rcu: Use automatic rc_read unlock in core memory/exec code Dr. David Alan Gilbert (git)
2019-09-12  9:38   ` Daniel P. Berrangé
2019-09-11 19:06 ` [Qemu-devel] [PATCH v2 5/5] migration: Missing rcu_read_unlock Dr. David Alan Gilbert (git)
2019-09-12  9:38   ` Daniel P. Berrangé
2019-09-12 12:32   ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).