On 09/06/2016 10:43 PM, Paolo Bonzini wrote:
On 07/09/2016 06:03, Richard Henderson wrote:
+ if (mr->global_locking) {
+ qemu_mutex_lock_iothread();
+ locked = true;
+ }
memory_region_dispatch_read(mr, physaddr, &val, 1 << SHIFT,
iotlbentry->attrs);
+ if (locked) {
+ qemu_mutex_unlock_iothread();
+ }
I'm not keen on this pattern.
(1) Why not use recursive locks?
Probably I'm biased by looking at this code too long, but... how would
they help?
You wouldn't check to see if the lock is already taken.
r~