fred.kon...@greensocs.com writes: > From: KONRAD Frederic <fred.kon...@greensocs.com> > > Hi everybody, > > This is the start of our work on TCG multithread.
It's been a while since the first RFC are we likely to see a v2 of the patch series any time soon? > > We send it for comment to be sure we are taking the right direction. > We already discussed the first patch but we keep it for simplicity. > > We choice to keep a common tbs array for all VCPU but protect it with the > tb_lock from TBContext. Then for each PageDesc we have a tb list per VCPU. > > Known issues: > * Some random deadlock. > * qemu_pause_cond is broken we can't quit QEMU. > * tb_flush is broken we must make sure no VCPU are executing code. > > Jan Kiszka (1): > Drop global lock during TCG code execution > > KONRAD Frederic (9): > target-arm: protect cpu_exclusive_*. > use a different translation block list for each cpu. > replace spinlock by QemuMutex. > remove unused spinlock. > extract TBContext from TCGContext. > protect TBContext with tb_lock. > tcg: remove tcg_halt_cond global variable. > cpu: remove exit_request global. > tcg: switch on multithread. > > cpu-exec.c | 47 +++++++---- > cpus.c | 122 +++++++++++---------------- > cputlb.c | 5 ++ > exec.c | 25 ++++++ > include/exec/exec-all.h | 4 +- > include/exec/spinlock.h | 49 ----------- > include/qom/cpu.h | 1 + > linux-user/main.c | 6 +- > scripts/checkpatch.pl | 9 +- > softmmu_template.h | 6 ++ > target-arm/cpu.c | 14 ++++ > target-arm/cpu.h | 3 + > target-arm/helper.h | 3 + > target-arm/op_helper.c | 10 +++ > target-arm/translate.c | 6 ++ > target-i386/mem_helper.c | 16 +++- > target-i386/misc_helper.c | 27 +++++- > tcg/i386/tcg-target.c | 8 ++ > tcg/tcg.h | 3 +- > translate-all.c | 208 > +++++++++++++++++++++++++++------------------- > vl.c | 6 ++ > 21 files changed, 335 insertions(+), 243 deletions(-) > delete mode 100644 include/exec/spinlock.h -- Alex Bennée