Re: [Qemu-devel] [RFC v3 19/19] cpu-exec: remove tb_lock from the hot-path

2016-06-30 Thread Sergey Fedorov
On 29/06/16 19:08, Alex Bennée wrote: > Sergey Fedorov writes: > >> On 29/06/16 17:47, Alex Bennée wrote: >>> Sergey Fedorov writes: >>> On 03/06/16 23:40, Alex Bennée wrote: (snip) > > static inline TranslationBlock *tb_find_fast(CPUState *cpu, > -

Re: [Qemu-devel] [RFC v3 19/19] cpu-exec: remove tb_lock from the hot-path

2016-06-29 Thread Alex Bennée
Sergey Fedorov writes: > On 29/06/16 17:47, Alex Bennée wrote: >> Sergey Fedorov writes: >> >>> On 03/06/16 23:40, Alex Bennée wrote: Lock contention in the hot path of moving between existing patched TranslationBlocks is the main drag on MTTCG performance. This patch pushes the

Re: [Qemu-devel] [RFC v3 19/19] cpu-exec: remove tb_lock from the hot-path

2016-06-29 Thread Sergey Fedorov
On 29/06/16 17:47, Alex Bennée wrote: > Sergey Fedorov writes: > >> On 03/06/16 23:40, Alex Bennée wrote: >>> Lock contention in the hot path of moving between existing patched >>> TranslationBlocks is the main drag on MTTCG performance. This patch >>> pushes the tb_lock() usage down to the two pl

Re: [Qemu-devel] [RFC v3 19/19] cpu-exec: remove tb_lock from the hot-path

2016-06-29 Thread Alex Bennée
Sergey Fedorov writes: > On 03/06/16 23:40, Alex Bennée wrote: >> Lock contention in the hot path of moving between existing patched >> TranslationBlocks is the main drag on MTTCG performance. This patch >> pushes the tb_lock() usage down to the two places that really need it: >> >> - code gen

Re: [Qemu-devel] [RFC v3 19/19] cpu-exec: remove tb_lock from the hot-path

2016-06-29 Thread Sergey Fedorov
On 03/06/16 23:40, Alex Bennée wrote: > Lock contention in the hot path of moving between existing patched > TranslationBlocks is the main drag on MTTCG performance. This patch > pushes the tb_lock() usage down to the two places that really need it: > > - code generation (tb_gen_code) > - jump

[Qemu-devel] [RFC v3 19/19] cpu-exec: remove tb_lock from the hot-path

2016-06-03 Thread Alex Bennée
Lock contention in the hot path of moving between existing patched TranslationBlocks is the main drag on MTTCG performance. This patch pushes the tb_lock() usage down to the two places that really need it: - code generation (tb_gen_code) - jump patching (tb_add_jump) The rest of the code does