|
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
[Prev in Thread] | Current Thread | [Next in Thread] |