[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 14/20] tcg-arm: Cleanup goto_tb handling
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH v3 14/20] tcg-arm: Cleanup goto_tb handling |
Date: |
Thu, 28 Mar 2013 13:48:42 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
On 2013-03-28 13:09, Aurelien Jarno wrote:
I already proposed such a patch, but it seems to improve things only on
some specific cases (kernel boot), while increasing the I/D cache and
TLB pressure.
See https://lists.gnu.org/archive/html/qemu-devel/2012-10/msg01684.html
Hmm. I see that your previous attempt didn't also go with a removal of
the 16MB limit on code_gen_buffer. Given the default is 32MB, I wonder
if the decrease in translation makes enough difference.
I'll admit that this sort of change needs more benchmarking. What I'd
like to do one way or the other is get rid of the myriad ifdefs. That's
just too confusing.
For the record, I've also been experimenting with a real constant pool.
This starts to significantly reduce the insn size, even with movw. This
primarily due to re-use of helper address constants. With the pool, I
also place the goto_tb constants there as well.
I've not gotten that code completely stable yet, but once I do I can
also consider the number of Dcache lines that the pool will occupy.
(With v7, I only see 2-3 entries in the pool per TB, so in most cases
aligning to a cache boundary won't matter.)
r~
- Re: [Qemu-devel] [PATCH v3 08/20] tcg-arm: Implement deposit for armv7, (continued)
[Qemu-devel] [PATCH v3 09/20] tcg-arm: Implement division instructions, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 10/20] tcg-arm: Use TCG_REG_TMP name for the tcg temporary, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 11/20] tcg-arm: Use R12 for the tcg temporary, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 12/20] tcg-arm: Cleanup multiply subroutines, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 13/20] tcg-arm: Cleanup tcg_out_goto_label, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 14/20] tcg-arm: Cleanup goto_tb handling, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 15/20] tcg-arm: Cleanup most primitive load store subroutines, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 16/20] tcg-arm: Fix local stack frame, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 17/20] tcg-arm: Split out tcg_out_tlb_read, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 18/20] tcg-arm: Improve scheduling of tcg_out_tlb_read, Richard Henderson, 2013/03/28
[Qemu-devel] [PATCH v3 20/20] tcg-arm: Convert to CONFIG_QEMU_LDST_OPTIMIZATION, Richard Henderson, 2013/03/28