[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v13 05/24] tcg: add options for enabling MTTCG
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v13 05/24] tcg: add options for enabling MTTCG |
Date: |
Thu, 23 Feb 2017 08:21:15 +0000 |
User-agent: |
mu4e 0.9.19; emacs 25.2.4 |
Pranith Kumar <address@hidden> writes:
> Hi Alex,
>
> On Wed, Feb 22, 2017 at 12:13 PM, Alex Bennée <address@hidden> wrote:
>> From: KONRAD Frederic <address@hidden>
>>
>> We know there will be cases where MTTCG won't work until additional work
>> is done in the front/back ends to support. It will however be useful to
>> be able to turn it on.
>>
>> As a result MTTCG will default to off unless the combination is
>> supported. However the user can turn it on for the sake of testing.
>>
>> Signed-off-by: KONRAD Frederic <address@hidden>
>> [AJB: move to -accel tcg,thread=multi|single, defaults]
>> Signed-off-by: Alex Bennée <address@hidden>
>> Reviewed-by: Richard Henderson <address@hidden>
>> ---
>> v1:
>> - merge with add mttcg option.
>> - update commit message
>> v2:
>> - machine_init->opts_init
>> v3:
>> - moved from -tcg to -accel tcg,thread=single|multi
>> - fix checkpatch warnings
>> v4:
>> - make mttcg_enabled extern, qemu_tcg_mttcg_enabled() now just macro
>> - qemu_tcg_configure now propagates Error instead of exiting
>> - better error checking of thread=foo
>> - use CONFIG flags for default_mttcg_enabled()
>> - disable mttcg with icount, error if both forced on
>> v7
>> - explicitly disable MTTCG for TCG_OVERSIZED_GUEST
>> - use check_tcg_memory_orders_compatible() instead of CONFIG_MTTCG_HOST
>> - change CONFIG_MTTCG_TARGET to TARGET_SUPPORTS_MTTCG
>> v8
>> - fix missing include tcg.h
>> - change mismatched MOs to a warning instead of error
>> v10
>> - TCG_DEFAULT_MO -> TCG_GUEST_DEFAULT_MO
>> v11
>> - tweak warning message
>> ---
>> cpus.c | 73
>> +++++++++++++++++++++++++++++++++++++++++++++++++++
>> include/qom/cpu.h | 9 +++++++
>> include/sysemu/cpus.h | 2 ++
>> qemu-options.hx | 20 ++++++++++++++
>> tcg/tcg.h | 9 +++++++
>> vl.c | 49 +++++++++++++++++++++++++++++++++-
>> 6 files changed, 161 insertions(+), 1 deletion(-)
>>
>> diff --git a/cpus.c b/cpus.c
>> index 0bcb5b50b6..c296ec715f 100644
>> --- a/cpus.c
>> +++ b/cpus.c
> <...>
>> +void qemu_tcg_configure(QemuOpts *opts, Error **errp)
>> +{
>> + const char *t = qemu_opt_get(opts, "thread");
>> + if (t) {
>> + if (strcmp(t, "multi") == 0) {
>> + if (TCG_OVERSIZED_GUEST) {
>> + error_setg(errp, "No MTTCG when guest word size > hosts");
>> + } else {
>> + if (!check_tcg_memory_orders_compatible()) {
>> + error_report("Guest expects a stronger memory ordering
>> than"
>> + "the host provides");
>> + error_printf("This may cause strange/hard to debug
>> errors");
>> + }
>
> This prints it as:
>
> Guest expects a stronger memory ordering thanthe host provides
>
> Please add a space between 'than' and 'the'.
Will do.
> Also why are you using
> error_report() for the first line and error_printf() for the second?
There is only one error to report, quoth HACKING:
"Use error_printf() & friends to print additional information."
--
Alex Bennée
- [Qemu-devel] [PATCH v13 00/24] MTTCG Base enabling patches with ARM enablement, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 02/24] mttcg: translate-all: Enable locking debug in a debug build, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 03/24] mttcg: Add missing tb_lock/unlock() in cpu_exec_step(), Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 04/24] tcg: move TCG_MO/BAR types into own file, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 06/24] tcg: add kick timer for single-threaded vCPU emulation, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 01/24] docs: new design document multi-thread-tcg.txt, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 07/24] tcg: rename tcg_current_cpu to tcg_current_rr_cpu, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 05/24] tcg: add options for enabling MTTCG, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 09/24] tcg: remove global exit_request, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 14/24] cputlb: tweak qemu_ram_addr_from_host_nofail reporting, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 11/24] tcg: enable thread-per-vCPU, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 10/24] tcg: enable tb_lock() for SoftMMU, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 13/24] cputlb: add assert_cpu_is_self checks, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 08/24] tcg: drop global lock during TCG code execution, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 19/24] cputlb: introduce tlb_flush_*_all_cpus[_synced], Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 15/24] cputlb: introduce tlb_flush_* async work., Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 12/24] tcg: handle EXCP_ATOMIC exception for system emulation, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 17/24] cputlb: add tlb_flush_by_mmuidx async routines, Alex Bennée, 2017/02/22