[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts t
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert |
Date: |
Fri, 3 Mar 2017 10:08:29 +0000 |
On 2 March 2017 at 19:53, Alex Bennée <address@hidden> wrote:
> While on MTTCG hosts it is very important that updates to
> cpu->interrupt_request are protected by the BQL not all guests have
> been converted to the correct locking yet. As a result we are seeing
> breaking on non-MTTCG enabled guests in production builds.
>
> The locking in the guests needs to be fixed but while running single
> threaded they will continue to work. By moving the asserts to
> tcg_debug_asserts() they will still be useful during conversion
> work (much like the existing assert_memory_lock/assert_tb_lock
> asserts).
>
> Signed-off-by: Alex Bennée <address@hidden>
> ---
> translate-all.c | 2 +-
> translate-common.c | 3 ++-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/translate-all.c b/translate-all.c
> index 9bac061c9b..7ee273410d 100644
> --- a/translate-all.c
> +++ b/translate-all.c
> @@ -1928,7 +1928,7 @@ void dump_opcount_info(FILE *f, fprintf_function
> cpu_fprintf)
>
> void cpu_interrupt(CPUState *cpu, int mask)
> {
> - g_assert(qemu_mutex_iothread_locked());
> + tcg_debug_assert(qemu_mutex_iothread_locked());
If CONFIG_DEBUG_TCG isn't enabled then tcg_debug_assert()
turns into "if (!(X)) { __builtin_unreachable(); }", which
means that instead of asserting we now run straight
into compiler undefined behaviour, don't we?
If what we want is "don't actually check this condition in
the non-tcg-debug config" then we should do something
that means we don't actually check the condition...
thanks
-- PMM
- [Qemu-devel] [PATCH v2 00/11] MTTCG fixups for 2.9, Alex Bennée, 2017/03/02
- [Qemu-devel] [PATCH v2 01/11] vl/cpus: be smarter with icount and MTTCG, Alex Bennée, 2017/03/02
- [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Alex Bennée, 2017/03/02
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert,
Peter Maydell <=
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Alex Bennée, 2017/03/03
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Peter Maydell, 2017/03/03
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Richard Henderson, 2017/03/03
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Eric Blake, 2017/03/03
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Eric Blake, 2017/03/03
- Re: [Qemu-devel] [PATCH v2 04/11] translate: downgrade IRQ BQL asserts to tcg_debug_assert, Paolo Bonzini, 2017/03/03
- [Qemu-devel] [PATCH v2 02/11] target/i386/cpu.h: declare TCG_GUEST_DEFAULT_MO, Alex Bennée, 2017/03/02
- [Qemu-devel] [PATCH v2 03/11] cpus.c: add additional error_report when !TARGET_SUPPORT_MTTCG, Alex Bennée, 2017/03/02
- [Qemu-devel] [PATCH v2 05/11] translate-all: exit cpu_restore_state early if translating, Alex Bennée, 2017/03/02