From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41372) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TZD72-0001AE-PX for qemu-devel@nongnu.org; Thu, 15 Nov 2012 23:01:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TZD6z-0003no-NW for qemu-devel@nongnu.org; Thu, 15 Nov 2012 23:01:04 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:36577) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TZD6z-0003nO-HB for qemu-devel@nongnu.org; Thu, 15 Nov 2012 23:01:01 -0500 Received: from eusync2.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MDK000E9B64AL00@mailout1.w1.samsung.com> for qemu-devel@nongnu.org; Fri, 16 Nov 2012 04:01:16 +0000 (GMT) Received: from [106.109.8.15] by eusync2.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0MDK0049EB5JTL30@eusync2.samsung.com> for qemu-devel@nongnu.org; Fri, 16 Nov 2012 04:00:56 +0000 (GMT) Message-id: <50A5BA76.1030703@samsung.com> Date: Fri, 16 Nov 2012 08:00:54 +0400 From: Evgeny Voevodin MIME-version: 1.0 References: <1352712469-27974-1-git-send-email-e.voevodin@samsung.com> In-reply-to: <1352712469-27974-1-git-send-email-e.voevodin@samsung.com> Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v6 0/7] TCG global variables clean-up List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Evgeny Voevodin , blauwirbel@gmail.com, kyungmin.park@samsung.com, edgar.iglesias@gmail.com, aurelien@aurel32.net, rth@twiddle.net On 11/12/2012 01:27 PM, Evgeny Voevodin wrote: > This set of patches moves global variables to tcg_ctx: > gen_opc_ptr > gen_opparam_ptr > gen_opc_buf > gen_opparam_buf > > Build tested for all targets. > Execution tested on Exynos4210 target. > > After this patchset was aplied, I noticed 0.7% speed-up of code generation. > Probably, this is due to better data caching. > > Here is the test procedure: > 1. Boot Linux Kernel 5 times. > 2. For each iteration wait while "JIT cycles" is stable for ~10 seconds > 3. Write down the "cycles/op" > > Here are the results (tested on gcc-4.6): > > Before clean-up: > min: 731.5 > max: 734.8 > avg: 733.0 > standard deviation: ~2 ~= 0.2% > > Average cycles/op = 733 +- 2 > > > > After clean-up: > min: 725.0 > max: 730.5 > avg: 727.8 > standard deviation: ~3 ~= 0.4% > > Average cycles/op = 728 +- 3 > Speed-up of TCG code generation = 0.7% > > Changelog: > v5->v6: > Fixed broken patches. > Rebased. > v4->v5: > Rebased. > Fixed authorship. > All patches are reviewed-by Richard Henderson > v3->v4: > Rebased. > Added target-cris/translate.c: Code style clean-up > v2->v3: > Removed tcg_cur_ctx since it gives slow-down on gcc-4.5. > Rebased. > v1->v2: > Introduced TCGContext *tcg_cur_ctx global to use in those places where we don't > have an interface to pass pointer to tcg_ctx. > Code style clean-up > > Evgeny Voevodin (7): > target-cris/translate.c: Code style clean-up > tcg/tcg.h: Duplicate global TCG variables in TCGContext > TCG: Use gen_opc_ptr from context instead of global variable. > TCG: Use gen_opparam_ptr from context instead of global variable. > TCG: Use gen_opc_buf from context instead of global variable. > TCG: Use gen_opparam_buf from context instead of global variable. > TCG: Remove unused global variables > > gen-icount.h | 2 +- > target-alpha/translate.c | 10 +- > target-arm/translate.c | 10 +- > target-cris/translate.c | 5040 +++++++++++++++++++++-------------------- > target-i386/translate.c | 10 +- > target-lm32/translate.c | 13 +- > target-m68k/translate.c | 10 +- > target-microblaze/translate.c | 13 +- > target-mips/translate.c | 11 +- > target-openrisc/translate.c | 13 +- > target-ppc/translate.c | 11 +- > target-s390x/translate.c | 11 +- > target-sh4/translate.c | 10 +- > target-sparc/translate.c | 10 +- > target-unicore32/translate.c | 10 +- > target-xtensa/translate.c | 8 +- > tcg/optimize.c | 62 +- > tcg/tcg-op.h | 324 +-- > tcg/tcg.c | 85 +- > tcg/tcg.h | 10 +- > translate-all.c | 3 - > 21 files changed, 2859 insertions(+), 2817 deletions(-) > Ping? -- Kind regards, Evgeny Voevodin, Technical Leader, Mobile Group, Samsung Moscow Research Center, e-mail: e.voevodin@samsung.com