qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] mttcg: Handle EXCP_ATOMIC exception


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH v2] mttcg: Handle EXCP_ATOMIC exception
Date: Wed, 02 Nov 2016 18:17:21 +0000
User-agent: mu4e 0.9.17; emacs 25.1.50.14

Paolo Bonzini <address@hidden> writes:

> On 02/11/2016 17:40, Pranith Kumar wrote:
>> The patch enables handling atomic code in the guest. This should be
>> preferably done in cpu_handle_exception(), but the current assumptions
>> regarding when we can execute atomic sections cause a deadlock.
>>
>> Signed-off-by: Pranith Kumar <address@hidden>
>> ---
>>  cpus.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/cpus.c b/cpus.c
>> index 8f98060..299ce7e 100644
>> --- a/cpus.c
>> +++ b/cpus.c
>> @@ -1315,6 +1315,11 @@ static void *qemu_tcg_rr_cpu_thread_fn(void *arg)
>>                  if (r == EXCP_DEBUG) {
>>                      cpu_handle_guest_debug(cpu);
>>                      break;
>> +                } else if (r == EXCP_ATOMIC) {
>> +                    qemu_mutex_unlock_iothread();
>> +                    cpu_exec_step_atomic(cpu);
>> +                    qemu_mutex_lock_iothread();
>> +                    break;
>>                  }
>>              } else if (cpu->stop) {
>>                  if (cpu->unplug) {
>> @@ -1385,6 +1390,10 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
>>                   */
>>                  g_assert(cpu->halted);
>>                  break;
>> +            case EXCP_ATOMIC:
>> +                qemu_mutex_unlock_iothread();
>> +                cpu_exec_step_atomic(cpu);
>> +                qemu_mutex_lock_iothread();
>>              default:
>>                  /* Ignore everything else? */
>>                  break;
>>
>
> Alex, please pick up this patch yourself.

Yep, I'll apply it to my tree.
>
> Paolo


--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]