[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2] translate-all: protect code_gen_buffer with RC
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [RFC v2] translate-all: protect code_gen_buffer with RCU |
Date: |
Mon, 25 Apr 2016 11:25:28 -0400 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Mon, Apr 25, 2016 at 16:19:59 +0100, Alex Bennée wrote:
>
> Emilio G. Cota <address@hidden> writes:
>
> > [ Applies on top of bennee/mttcg/enable-mttcg-for-armv7-v1 after
> > reverting "translate-all: introduces tb_flush_safe". A trivial
> > conflict must be solved after applying. ]
> >
> > This is a first attempt at making tb_flush not have to stop all CPUs.
> > There are issues as pointed out below, but this could be a good start.
> >
> > Context:
> > https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg04658.html
> > https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg06942.html
> >
> > Changes from v1:
> > - When a static buffer is used, split it in two instead of using
> > a second buffer.
> >
> > Known issues:
> > - Fails Alex' unit test with low enough -tb-size, see
> > https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg03465.html
> > Seems to work in MTTCG, although I've only tested with tb_lock
> > always being taken in tb_find_fast.
>
> With --enable-debug-tcg I get it failing pretty quickly:
>
> #4 0x00005555556d332a in tcg_global_alloc (s=0x555556007ba0 <tcg_ctx>)
> at /home/alex/lsrc/qemu/qemu.git/tcg/tcg.c:463
> 463 tcg_debug_assert(s->nb_globals == s->nb_temps);
> (gdb) p s->nb_globals
> $1 = 24
> (gdb) p s->nb_temps
> $2 = 31
> Seems odd though, the other threads are all waiting on the tb_lock.
It must be the tcg_prologue_init call, as Richard pointed out.
I'm on it, will report back.
Thanks,
E.
- [Qemu-devel] [RFC] translate-all: protect code_gen_buffer with RCU, Emilio G. Cota, 2016/04/21
- Re: [Qemu-devel] [RFC] translate-all: protect code_gen_buffer with RCU, Alex Bennée, 2016/04/22
- Re: [Qemu-devel] [RFC] translate-all: protect code_gen_buffer with RCU, Richard Henderson, 2016/04/22
- [Qemu-devel] [RFC v2] translate-all: protect code_gen_buffer with RCU, Emilio G. Cota, 2016/04/23
- Re: [Qemu-devel] [RFC v2] translate-all: protect code_gen_buffer with RCU, Richard Henderson, 2016/04/24
- Re: [Qemu-devel] [RFC v2] translate-all: protect code_gen_buffer with RCU, Alex Bennée, 2016/04/25
- Re: [Qemu-devel] [RFC v2] translate-all: protect code_gen_buffer with RCU,
Emilio G. Cota <=
- [Qemu-devel] [RFC v3] translate-all: protect code_gen_buffer with RCU, Emilio G. Cota, 2016/04/25
- Re: [Qemu-devel] [RFC v3] translate-all: protect code_gen_buffer with RCU, Richard Henderson, 2016/04/26
- Re: [Qemu-devel] [RFC v3] translate-all: protect code_gen_buffer with RCU, Alex Bennée, 2016/04/26
- Re: [Qemu-devel] [RFC v3] translate-all: protect code_gen_buffer with RCU, Richard Henderson, 2016/04/26
- Re: [Qemu-devel] [RFC v3] translate-all: protect code_gen_buffer with RCU, Alex Bennée, 2016/04/26
- Re: [Qemu-devel] [RFC v3] translate-all: protect code_gen_buffer with RCU, Emilio G. Cota, 2016/04/29