Richard Henderson <richard.hender...@linaro.org> writes:
> On 10/6/19 9:05 AM, Paolo Bonzini wrote: >> On 01/10/19 19:40, Alex Bennée wrote: >>> >>> Paolo Bonzini <pbonz...@redhat.com> writes: >>> >>>> On 01/10/19 18:04, Alex Bennée wrote: >>>>> qemu_cpu_kick is used for a number of reasons including to indicate >>>>> there is work to be done. However when thread=single the old >>>>> qemu_cpu_kick_rr_cpu only advanced the vCPU to the next executing one >>>>> which can lead to a hang in the case that: >>>>> >>>>> a) the kick is from outside the vCPUs (e.g. iothread) >>>>> b) the timers are paused (i.e. iothread calling run_on_cpu) >>>>> >>>>> To avoid this lets split qemu_cpu_kick_rr into two functions. One for >>>>> the timer which continues to advance to the next timeslice and another >>>>> for all other kicks. >>>>> >>>>> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> >>>>> Cc: Doug Gale <doug...@gmail.com> >>>>> Cc: Paolo Bonzini <pbonz...@redhat.com> >>>>> Cc: Peter Maydell <peter.mayd...@linaro.org> >>>>> --- >>>>> cpus.c | 24 ++++++++++++++++++------ >>>>> 1 file changed, 18 insertions(+), 6 deletions(-) >>>> >>>> Looks good to me. Single-threaded TCG is not going to have high vCPU >>>> counts anyway. >>> >>> Are you going to take this via your queue? >> >> I wasn't, since we have had a proper TCG maintainer for a while. :) > > Hah. Point taken, and queued. Would you care to go on the record with > something more than a LGTM? Heh, I was confused because cpus.c is shown twice in MAINTAINERS as Paolo is the main loop guy ;-) > > > r~ -- Alex Bennée