qemu-devel
[Top][All Lists]
Advanced

[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~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]