qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH V7 11/19] tcg: switch on multithread.


From: Frederic Konrad
Subject: Re: [Qemu-devel] [RFC PATCH V7 11/19] tcg: switch on multithread.
Date: Thu, 13 Aug 2015 16:41:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 13/08/2015 13:17, Paolo Bonzini wrote:

On 10/08/2015 17:27, address@hidden wrote:
+    while (!cpu->exit_request) {
          qemu_clock_enable(QEMU_CLOCK_VIRTUAL,
                            (cpu->singlestep_enabled & SSTEP_NOTIMER) == 0);
@@ -1507,7 +1480,7 @@ static void tcg_exec_all(void)
          }
      }
- first_cpu->exit_request = 0;
+    cpu->exit_request = 0;
One issue here is that when tcg_cpu_exec returns EXCP_HALTED, the
function keeps looping.  There is no need to set cpu->exit_request in
that case, since in fact there is no request pending, so the while loop
probably should be an "if".
Nice catch thanks!

I missed the fact that it was running through the list of VCPUs and exited the
for(;;) loop.

I should rework this patch a little.. Maybe it's better to keep this loop and exit it
when necessary eg: when icount elapse or cpu halted.

Fred


Also, cpu->interrupt_request is not protected by any mutex, so
everything apart from the non-zero test must take the iothread mutex.

Paolo





reply via email to

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