qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Emilio G. Cota" <cota@braap.org>
To: Richard Henderson <rth@twiddle.net>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v6 00/25] tcg cross-tb optimizations
Date: Wed, 3 May 2017 14:24:29 -0400	[thread overview]
Message-ID: <20170503182429.GA26661@flamenco> (raw)
In-Reply-To: <5218784b-4657-85fe-9ea2-a898d4609ced@twiddle.net>

On Wed, May 03, 2017 at 09:27:54 -0700, Richard Henderson wrote:
> On 05/03/2017 08:51 AM, Emilio G. Cota wrote:
> >On Tue, May 02, 2017 at 20:36:52 -0700, Richard Henderson wrote:
> >>On 05/02/2017 12:22 PM, Richard Henderson wrote:
> >>>Changes since v5:
> >>...
> >>>   * Alpha frontend patch rewritten; the former patch appears to
> >>>     drop clock interrupts, not exiting the kernel's idle loop.
> >>>     I never *really* figured out why, since both patches seem
> >>>     to annotate the same TBs in the same way.
> >>
> >>There's definitely something odd going on.
> >>
> >>With a rebuild from scratch, the same symptoms have re-appeared for Alpha.
> >>So it really had nothing to do with the original patch.  I'm at a bit of a
> >>loss...
> >
> >I can reliably reproduce a freeze upon booting.
> 
> Oh good.  Sort of.  The oddly non-reproducible nature of this for me has
> been disconcerting.

I'm booting this image:
  https://gmplib.org/~tege/qemu/images/alpha/disk.img.xz
with this kernel:
  https://gmplib.org/~tege/qemu/images/alpha/vmlinux
invoking with:
  $ qemu-system-alpha -m 512 -drive file=disk.img,media=disk,format=raw,index=0 \
	-kernel vmlinux -append "root=/dev/sda2" [-accel accel=tcg,thread=multi]
I got the above from https://gmplib.org/~tege/qemu.html

I can reproduce reliably with either thread=single or =multi. When booting,
it stops for a few seconds  at "Key type dns_resolver registered"; then it
prints a few more lines to then stop for a while at
"sd 0:0:0:0: [sda] Attached SCSI disk". If I wait long enough, it
does boot. However, without the chaining patch it boots in a few seconds.

> >Interestingly, if I leave the lookup_and_goto_ptr above (s/#if 0/#if 1/), but
> >change the lookup_ptr helper to bypass tb_jmp_cache and directly check the
> >htable, it boots OK.
> 
> Now that *is* odd.  However ...
> 
> >Could it be that we're forgetting to clear (or set) tb_jmp_cache somewhere?
> 
> ... even that should not affect the setting (or clearing) of
> cpu->icount_decr.u16.high.  Which should have been set by
> tcg_handle_interrupt.  We should have exited the chain of TBs at some point.
> 
> Which to me means there's some deeper issue.  I.e. the only reason it's been
> working to date so far is that previously we never put together chains of
> any great length.

Yes, this is my hypothesis as well.

		E.

      reply	other threads:[~2017-05-03 18:24 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-02 19:22 [Qemu-devel] [PATCH v6 00/25] tcg cross-tb optimizations Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 01/25] target/nios2: Fix 64-bit ilp32 compilation Richard Henderson
2017-05-05 11:51   ` Philippe Mathieu-Daudé
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 02/25] tcg/sparc: Use the proper compilation flags for 32-bit Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 03/25] qemu/atomic: Loosen restrictions for 64-bit ILP32 hosts Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 04/25] tcg: Introduce goto_ptr opcode and tcg_gen_lookup_and_goto_ptr Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 05/25] tcg/i386: implement goto_ptr Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 06/25] target/arm: optimize cross-page direct jumps in softmmu Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 07/25] target/arm: optimize indirect branches Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 08/25] target/i386: introduce gen_jr helper to generate lookup_and_goto_ptr Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 09/25] target/i386: optimize cross-page direct jumps in softmmu Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 10/25] target/i386: optimize indirect branches Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 11/25] tb-hash: improve tb_jmp_cache hash function in user mode Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 12/25] tcg/ppc: Implement goto_ptr Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 13/25] tcg/aarch64: " Richard Henderson
2017-05-06 11:52   ` Aurelien Jarno
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 14/25] tcg/sparc: " Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 15/25] tcg/s390: " Richard Henderson
2017-05-06 12:15   ` Aurelien Jarno
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 16/25] tcg/arm: Clarify tcg_out_bx for arm4 host Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 17/25] tcg/arm: Implement goto_ptr Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 18/25] target/s390: Use tcg_gen_lookup_and_goto_ptr Richard Henderson
2017-05-06 12:14   ` Aurelien Jarno
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 19/25] target/hppa: " Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 20/25] target/alpha: " Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 21/25] target/aarch64: optimize cross-page direct jumps in softmmu Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 22/25] target/aarch64: optimize indirect branches Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 23/25] tcg/mips: implement goto_ptr Richard Henderson
2017-05-02 19:22 ` [Qemu-devel] [PATCH v6 24/25] target/mips: optimize cross-page direct jumps in softmmu Richard Henderson
2017-05-02 19:23 ` [Qemu-devel] [PATCH v6 25/25] target/mips: optimize indirect branches Richard Henderson
2017-05-02 20:22 ` [Qemu-devel] [PATCH v6 00/25] tcg cross-tb optimizations no-reply
2017-05-03  3:36 ` Richard Henderson
2017-05-03 15:51   ` Emilio G. Cota
2017-05-03 16:27     ` Richard Henderson
2017-05-03 18:24       ` Emilio G. Cota [this message]

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=20170503182429.GA26661@flamenco \
    --to=cota@braap.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).