On Wed, Sep 26, 2018 at 10:23:25 +0200, Paolo Bonzini wrote:
> On 24/09/2018 20:46, Emilio G. Cota wrote:
> > Applying this on my local tree is deadlocking icount, since
> > cpu_update_icount is called from cpu_get_icount_raw_locked:
> > 
> > #6  cpu_update_icount (cpu=<optimized out>) at /data/src/qemu/cpus.c:257
> > #7  0x000055a6fbc7ae5c in cpu_get_icount_raw_locked () at 
> > /data/src/qemu/cpus.c:271
> > #8  0x000055a6fbc7ae99 in cpu_get_icount_locked () at 
> > /data/src/qemu/cpus.c:279
> > #9  0x000055a6fbc7b3ac in cpu_get_icount () at /data/src/qemu/cpus.c:302
> > #10 0x000055a6fc0f3a05 in qemu_clock_get_ns 
> > (type=type@entry=QEMU_CLOCK_VIRTUAL) at /data/src/qemu/util/qemu-timer.c:601
> > 
> > I am however not sure what Paolo's queued tree looks like, so I
> > might be missing something.
> 
> No, you're not missing anything.
> 
> Looking at other callers of cpu_update_icount, this should be the fix:
> 
> diff --git a/cpus.c b/cpus.c
(snip)

This does indeed fix the deadlock. Feel free to add my

Tested-by: Emilio G. Cota <c...@braap.org>

in the eventual patch.

Thanks,

                Emilio

Reply via email to