On Thu, Jun 18, 2015 at 08:42:40 +0100, Peter Maydell wrote: > > What data structures are you referring to? Are they ppc-specific? > > None of the code generation data structures are locked at all -- > if two threads try to generate code at the same time they'll > tend to clobber each other.
AFAICT tb_gen_code is called with a mutex held (the sequence is mutex->tb_find_fast->tb_find_slow->tb_gen_code in cpu-exec.c) The only call to tb_gen_code that in usermode is not holding the lock is in cpu_breakpoint_insert->breakpoint_invalidate-> tb_invalidate_phys_page_range->tb_gen_code. I'm not using gdb so I guess I cannot trigger this. Am I missing something? > On 17 June 2015 at 22:36, Emilio G. Cota <c...@braap.org> wrote: > > I don't think this is a race because it also breaks when > > run on a single core (with taskset -c 0). As I said, this problem doesn't seem to be a race. Thanks, Emilio