All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgeny Voevodin <e.voevodin@samsung.com>
Cc: qemu-devel@nongnu.org, Blue Swirl <blauwirbel@gmail.com>,
	kyungmin.park@samsung.com, edgar.iglesias@gmail.com,
	aurelien@aurel32.net, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH 0/6] *** TCG global variables clean-up ***
Date: Mon, 22 Oct 2012 09:05:18 +0400	[thread overview]
Message-ID: <5084D40E.3050503@samsung.com> (raw)
In-Reply-To: <5084C02E.20502@samsung.com>

On 10/22/2012 07:40 AM, Evgeny Voevodin wrote:
> On 10/19/2012 09:55 PM, Blue Swirl wrote:
>> On Fri, Oct 19, 2012 at 12:42 PM, Evgeny <e.voevodin@samsung.com> wrote:
>>> This set of patches moves global variables to tcg_ctx:
>>> gen_opc_ptr
>>> gen_opparam_ptr
>>> gen_opc_buf
>>> gen_opparam_buf
>>>
>>> Where it was possible I used s->...
>>> Where we don't have an interface to pass a pointer to tcg_ctx, I used
>>> tcg_ctx.xxx
>>> since it is a global variable too.
>> Maybe a pointer should be added so that the references become
>> tcg_ctx_ptr->xxx. This would incur unnecessary pointer dereference
>> penalties though.
>
> I thought about usage of TCGContext * tcg_cur_ctx, but I decided that we
> don't need this until
> we want to use multiple TCG contexts.
> If we would like to introduce such a pointer, then I'd prefer to hold it
> in CPUArchState inside
> CPU_COMMON and initialize it in qemu_tcg_cpu_thread_fn for each CPU:
> env->tcg_cur_ctx = &tcg_ctx;

Oh, I just found out that we don't have an access to CPUArchState form 
tcg-op.h, so we can't get rid of usage of global variable here until we
change interfaces to all functions...

>
>
>>
>>> Build tested for all targets.
>>> Execution tested on ARM.
>>>
>>> I didn't notice any slow-down of kernel boot after this set was applied.
>>>
>>> Evgeny (6):
>>>    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        |   12 +-
>>>   target-cris/translate.c       |   12 +-
>>>   target-i386/translate.c       |   12 +-
>>>   target-lm32/translate.c       |   12 +-
>>>   target-m68k/translate.c       |   10 +-
>>>   target-microblaze/translate.c |   12 +-
>>>   target-mips/translate.c       |   10 +-
>>>   target-openrisc/translate.c   |   12 +-
>>>   target-ppc/translate.c        |   10 +-
>>>   target-s390x/translate.c      |   10 +-
>>>   target-sh4/translate.c        |   10 +-
>>>   target-sparc/translate.c      |   10 +-
>>>   target-unicore32/translate.c  |   12 +-
>>>   target-xtensa/translate.c     |    8 +-
>>>   tcg/optimize.c                |   62 ++++----
>>>   tcg/tcg-op.h                  |  324
>>> ++++++++++++++++++++---------------------
>>>   tcg/tcg.c                     |   84 +++++------
>>>   tcg/tcg.h                     |   10 +-
>>>   translate-all.c               |    3 -
>>>   21 files changed, 321 insertions(+), 326 deletions(-)
>>>
>>> --
>>> 1.7.9.5
>>>
>
>


-- 
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Center,
e-mail: e.voevodin@samsung.com

      reply	other threads:[~2012-10-22  5:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-19 12:42 [Qemu-devel] [PATCH 0/6] *** TCG global variables clean-up *** Evgeny
2012-10-19 12:42 ` [Qemu-devel] [PATCH 1/6] tcg/tcg.h: Duplicate global TCG variables in TCGContext Evgeny
2012-10-19 12:42 ` [Qemu-devel] [PATCH 2/6] TCG: Use gen_opc_ptr from context instead of global variable Evgeny
2012-10-19 12:42 ` [Qemu-devel] [PATCH 3/6] TCG: Use gen_opparam_ptr " Evgeny
2012-10-19 12:42 ` [Qemu-devel] [PATCH 4/6] TCG: Use gen_opc_buf " Evgeny
2012-10-19 12:42 ` [Qemu-devel] [PATCH 5/6] TCG: Use gen_opparam_buf " Evgeny
2012-10-19 17:53   ` Blue Swirl
2012-10-22  3:42     ` Evgeny Voevodin
2012-10-19 12:42 ` [Qemu-devel] [PATCH 6/6] TCG: Remove unused global variables Evgeny
2012-10-19 17:55 ` [Qemu-devel] [PATCH 0/6] *** TCG global variables clean-up *** Blue Swirl
2012-10-22  3:40   ` Evgeny Voevodin
2012-10-22  5:05     ` Evgeny Voevodin [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=5084D40E.3050503@samsung.com \
    --to=e.voevodin@samsung.com \
    --cc=aurelien@aurel32.net \
    --cc=blauwirbel@gmail.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=kyungmin.park@samsung.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.