On 25/09/19 17:28, Dr. David Alan Gilbert wrote: > * Paolo Bonzini (pbonz...@redhat.com) wrote: >> On 25/09/19 15:13, Dr. David Alan Gilbert wrote: >>> * Dr. David Alan Gilbert (git) (dgilb...@redhat.com) wrote: >>>> From: "Dr. David Alan Gilbert" <dgilb...@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. >>> >>> I've had to unqueue this - clang doesn't like the apparently unused >>> auto variable; we need to find a way to make that happy. >> >> __attribute__((unused))? > > I worry that if I do that, then it'll optimise it out.
It cannot, since the function passed to the cleanup attribute can have side effects. Paolo > > Dave > >> Paolo >> >>> Dave >>> >>>> v3 >>>> Add block-head version of macro >>>> Rename >>>> Add docs >>>> Convert more cases using the block-head version >>>> >>>> Dr. David Alan Gilbert (5): >>>> rcu: Add automatically released rcu_read_lock variants >>>> migration: Fix missing rcu_read_unlock >>>> 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 >>>> >>>> docs/devel/rcu.txt | 16 +++ >>>> exec.c | 120 +++++++--------- >>>> include/exec/ram_addr.h | 138 +++++++++---------- >>>> include/qemu/rcu.h | 25 ++++ >>>> memory.c | 15 +- >>>> migration/ram.c | 295 +++++++++++++++++++--------------------- >>>> migration/rdma.c | 57 ++------ >>>> 7 files changed, 310 insertions(+), 356 deletions(-) >>>> >>>> -- >>>> 2.21.0 >>>> >>>> >>> -- >>> Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK >>> >> > -- > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK >