On 6 April 2018 at 13:58, Alex Bennée <alex.ben...@linaro.org> wrote: > > Peter Maydell <peter.mayd...@linaro.org> writes: >> - if (!qemu_in_vcpu_thread() && first_cpu) { >> + if (qemu_in_vcpu_thread()) { >> + /* A CPU is currently running; kick it back out to the >> + * tcg_cpu_exec() loop so it will recalculate its >> + * icount deadline immediately. >> + */ >> + qemu_cpu_kick(current_cpu); > > This is only totally true if whatever has caused the re-calculation has > ended the Translation Block, otherwise we won't finish until we've run a > few more instructions.
That should always be true, because it will be an IO instruction, which we enforce is always the last insn in a TB. thanks -- PMM