Re: [Qemu-devel] [RFC v4 16/28] tcg: drop global lock during TCG code execution

2016-09-07 Thread Paolo Bonzini
On 07/09/2016 08:43, Richard Henderson wrote: > 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_di

Re: [Qemu-devel] [RFC v4 16/28] tcg: drop global lock during TCG code execution

2016-09-06 Thread Richard Henderson
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, iotl

Re: [Qemu-devel] [RFC v4 16/28] tcg: drop global lock during TCG code execution

2016-09-06 Thread Paolo Bonzini
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 (l

Re: [Qemu-devel] [RFC v4 16/28] tcg: drop global lock during TCG code execution

2016-09-06 Thread Richard Henderson
On 08/11/2016 08:24 AM, Alex Bennée 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_mute

[Qemu-devel] [RFC v4 16/28] tcg: drop global lock during TCG code execution

2016-08-11 Thread Alex Bennée
From: Jan Kiszka This finally allows TCG to benefit from the iothread introduction: Drop the global mutex while running pure TCG CPU code. Reacquire the lock when entering MMIO or PIO emulation, or when leaving the TCG loop. We have to revert a few optimization for the current TCG threading mode