qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.5 01/10] tcg/optimize: optimize temps trac


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH for-2.5 01/10] tcg/optimize: optimize temps tracking
Date: Mon, 27 Jul 2015 11:09:11 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On 2015-07-27 10:21, Paolo Bonzini wrote:
> 
> 
> On 24/07/2015 18:30, Aurelien Jarno wrote:
> > The tcg_temp_info structure uses 24 bytes per temp. Now that we emulate
> > vector registers on most guests, it's not uncommon to have more than 100
> > used temps. This means we have initialize more than 2kB at least twice
> > per TB, often more when there is a few goto_tb.
> > 
> > Instead used a TCGTempSet bit array to track which temps are in used in
> > the current basic block. This means there are only around 16 bytes to
> > initialize.
> > 
> > This improves the boot time of a MIPS guest on an x86-64 host by around
> > 7% and moves out tcg_optimize from the the top of the profiler list.
> > 
> > Cc: Richard Henderson <address@hidden>
> > Signed-off-by: Aurelien Jarno <address@hidden>
> > ---
> >  tcg/optimize.c | 32 ++++++++++++++++++++++----------
> >  1 file changed, 22 insertions(+), 10 deletions(-)
> > 
> > diff --git a/tcg/optimize.c b/tcg/optimize.c
> > index cd0e793..20e24b3 100644
> > --- a/tcg/optimize.c
> > +++ b/tcg/optimize.c
> > @@ -50,6 +50,7 @@ struct tcg_temp_info {
> >  };
> >  
> >  static struct tcg_temp_info temps[TCG_MAX_TEMPS];
> > +static TCGTempSet temps_used;
> >  
> >  /* Reset TEMP's state to TCG_TEMP_UNDEF.  If TEMP only had one copy, remove
> >     the copy flag from the left temp.  */
> > @@ -67,6 +68,22 @@ static void reset_temp(TCGArg temp)
> >      temps[temp].mask = -1;
> >  }
> >  
> > +/* Reset all temporaries, given that there are NB_TEMPS of them.  */
> > +static void reset_all_temps(int nb_temps)
> > +{
> > +    memset(&temps_used.l, 0, sizeof(long) * BITS_TO_LONGS(nb_temps));
> 
> You can use bitmap_zero here.
> 

Indeed, thanks for the hint. That will be in v2.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
address@hidden                 http://www.aurel32.net



reply via email to

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