On Tue, Jun 25, 2013 at 2:24 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 25/06/2013 19:38, Liu Ping Fan ha scritto: >> This series relies on refcnt of object used by bh callback to run against >> unplug. >> >> Open issue: >> Another choice may be rcu, but I think some issues are hard to resolve. >> Using rcu, we have two choice: >> when holding object refcnt, call qemu_bh_delete(); then after grace >> period, we can release. >> Or making qemu_bh_delete() sync in the path of DeviceState's finalization. > > What do you mean exactly? qemu_bh_delete() is async, but it operates on > dynamically-allocated memory. > Before DeviceState is freed, we should make sure the bh is delete, and not related bh is in fly.
> Paolo > >> but currently, the callers of qemu_bh_delete() can not satisfy any of the >> two condition. >