[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 21/22] tcg: enable per-thread TCG for softmmu
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [PATCH 21/22] tcg: enable per-thread TCG for softmmu |
Date: |
Sun, 9 Jul 2017 17:29:10 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Sun, Jul 09, 2017 at 11:19:37 -1000, Richard Henderson wrote:
> On 07/08/2017 09:50 PM, Emilio G. Cota wrote:
> >This allows us to generate TCG code in parallel. MTTCG already uses
> >it, although the next commit pushes down a lock to actually
> >perform parallel generation.
> >
> >User-mode is kept out of this: contention due to concurrent translation
> >is more commonly found in full-system mode.
>
> Um, why do you believe that? Are you suggesting that a multi-threaded
> user-only guest is much more likely to share TBs and do much less code
> generation total?
Exactly. Also, in user-mode "vCPU threads" (i.e. host threads) come and
go all the time, so this doesn't work well with having a single
code_gen_buffer, which I assumed was non-negotiable.
> At the moment I think it's just a confusing distinction. As proven by some
> of the comment adjustments you made.
>
> >-TCGContext tcg_ctx;
> >+TCG_THREAD TCGContext tcg_ctx;
>
> This is a really large structure, and it's not needed by any of the I/O
> threads. We're probably better off dynamically allocating this ourselves
> and do something like
(snip)
Agreed, will look into this.
E.
[Qemu-devel] [PATCH 17/22] tcg: distribute profiling counters across TCGContext's, Emilio G. Cota, 2017/07/09