From: Richard Henderson <rth@twiddle.net>
To: "Alex Bennée" <alex.bennee@linaro.org>,
"Alexander Boettcher" <alexander.boettcher@genode-labs.com>
Cc: qemu-devel@nongnu.org, fred.konrad@greensocs.com,
pbonzini@redhat.com, crosthwaite.peter@gmail.com
Subject: Re: [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU
Date: Mon, 6 Mar 2017 12:34:13 +1100 [thread overview]
Message-ID: <09728335-6fd7-b332-0d86-91c0ded71d90@twiddle.net> (raw)
In-Reply-To: <87r32bif49.fsf@linaro.org>
On 03/06/2017 08:32 AM, Alex Bennée wrote:
>> #5 0x000000000046ea2e in tlb_flush (cpu=0x164a360) at qemu.git/cputlb.c:121
>> #6 0x0000000000538987 in cpu_x86_update_cr4 (env=0x16525f0, new_cr4=1784)
>> at qemu.git/target/i386/helper.c:660
>> #7 0x000000000055e318 in cpu_vmexit (env=0x16525f0, exit_code=78,
>> exit_info_1=4, retaddr=0)
>> at qemu.git/target/i386/svm_helper.c:689
>> #8 0x000000000055d9b7 in cpu_svm_check_intercept_param (env=0x16525f0,
>> type=78, param=4, retaddr=0)
>> at qemu.git/target/i386/svm_helper.c:511
>> #9 0x0000000000541acf in raise_interrupt2 (env=0x16525f0, intno=14,
>> is_int=0, error_code=4, next_eip_addend=0, retaddr=0)
>> at qemu.git/target/i386/excp_helper.c:96
>> #10 0x0000000000541c0d in raise_exception_err_ra (env=0x16525f0,
>> exception_index=14, error_code=4, retaddr=0)
>> at qemu.git/target/i386/excp_helper.c:127
>> #11 0x00000000005621a9 in tlb_fill (cs=0x164a360, addr=1245184,
>> access_type=MMU_INST_FETCH, mmu_idx=1, retaddr=0)
>> at qemu.git/target/i386/mem_helper.c:212
> Richard,
>
> So this looks like another path through the SoftMMU code during
> code-generation (which is why tb_lock() is held in the first place). I'm
> not sure if the correct thing to do is bug out earlier or to defer the
> exception raising part to async work and exit the loop.
My guess is that everything from cpu_svm_check_intercept_param on should be
done from do_interrupt instead of during raise_interrupt.
r~
next prev parent reply other threads:[~2017-03-06 1:34 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-05 16:59 [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU Alexander Boettcher
2017-03-05 21:32 ` Alex Bennée
2017-03-06 1:34 ` Richard Henderson [this message]
2017-03-06 16:58 ` Paolo Bonzini
2017-03-06 19:21 ` Richard Henderson
2017-03-06 20:03 ` Alexander Boettcher
2017-03-06 13:15 ` Alex Bennée
2017-03-06 13:21 ` Alexander Boettcher
2017-03-06 14:42 ` Alex Bennée
2017-03-06 15:11 ` Alexander Boettcher
2017-03-06 15:57 ` [Qemu-devel] [PATCH] target/i386: move nested exception check to x86_cpu_exec_interrupt Alex Bennée
2017-03-06 19:24 ` Richard Henderson
2017-03-07 15:03 ` Alex Bennée
2017-03-06 16:24 ` [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU Alex Bennée
2017-03-06 20:11 ` Alexander Boettcher
2017-03-06 20:56 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=09728335-6fd7-b332-0d86-91c0ded71d90@twiddle.net \
--to=rth@twiddle.net \
--cc=alex.bennee@linaro.org \
--cc=alexander.boettcher@genode-labs.com \
--cc=crosthwaite.peter@gmail.com \
--cc=fred.konrad@greensocs.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.