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
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
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
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
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