From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42266) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTOrs-0006of-Ae for qemu-devel@nongnu.org; Tue, 30 Oct 2012 23:21:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTOrq-0001Pa-12 for qemu-devel@nongnu.org; Tue, 30 Oct 2012 23:21:24 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:38209) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTOrp-0001PB-Qn for qemu-devel@nongnu.org; Tue, 30 Oct 2012 23:21:21 -0400 Received: from eusync4.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MCQ003J9MNZ5U20@mailout2.w1.samsung.com> for qemu-devel@nongnu.org; Wed, 31 Oct 2012 03:21:35 +0000 (GMT) Received: from [106.109.8.9] by eusync4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MCQ00NRTMNC4I50@eusync4.samsung.com> for qemu-devel@nongnu.org; Wed, 31 Oct 2012 03:21:17 +0000 (GMT) Message-id: <50909927.8000205@samsung.com> Date: Wed, 31 Oct 2012 07:21:11 +0400 From: Evgeny Voevodin MIME-version: 1.0 References: <1351502075-12356-1-git-send-email-e.voevodin@samsung.com> In-reply-to: Content-type: text/plain; charset=UTF-8; format=flowed Content-transfer-encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 0/6] TCG global variables clean-up List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: Evgeny Voevodin , qemu-devel@nongnu.org, kyungmin.park@samsung.com, edgar.iglesias@gmail.com, aurelien@aurel32.net, rth@twiddle.net On 10/30/2012 10:46 PM, Blue Swirl wrote: > On Mon, Oct 29, 2012 at 9:14 AM, 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 > Patches don't apply, please rebase. Ok. When I sent they applied correctly. I'll rebase. > Also checkpatch.pl complains about tabs. There are tabs everywhere in the target-cris/translate.c Should I remove all tabs from patches only or from whole file? Actually clean-up tabs was out of my scope... > >> 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: >> 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 (2): >> tcg/tcg.h: Duplicate global TCG variables in TCGContext >> TCG: Remove unused global variables >> >> Evgeny Voevodin (4): >> 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. >> >> gen-icount.h | 2 +- >> target-alpha/translate.c | 10 +- >> target-arm/translate.c | 10 +- >> target-cris/translate.c | 13 +- >> 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, 326 insertions(+), 323 deletions(-) >> >> -- >> 1.7.9.5 >> -- Kind regards, Evgeny Voevodin, Technical Leader, Mobile Group, Samsung Moscow Research Center, e-mail: e.voevodin@samsung.com