qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] TCG: Improve tb_phys_hash_func()


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] TCG: Improve tb_phys_hash_func()
Date: Fri, 31 Dec 2010 20:46:02 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Thu, Dec 30, 2010 at 05:55:38PM +0000, Blue Swirl wrote:
> On Wed, Dec 29, 2010 at 9:27 PM, Aurelien Jarno <address@hidden> wrote:
> > Most of emulated CPU have instructions aligned on 16 or 32 bits, while
> > on others GCC tries to align the target jump location. This means that
> > 1/2 or 3/4 of tb_phys_hash entries are never used.
> >
> > Update the hash function tb_phys_hash_func() to ignore the two lowest
> > bits of the address. This brings a 6% speed-up when booting a MIPS
> > image.
> 
> Nice! The beginning of functions may be aligned to 16 bytes. Would it
> change the performance figures if one or two more bits were ignored?
> 

It makes a noticeable difference on how the TBs are dispatched in the
hash table, but only by a few percents (slightly more on ppc). I am not
able to measure any speed improvement, it is all in the noise.

My guess is that compilers align functions to 16 bytes, but not jump in
loops, which are far more numerous that functions starts.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

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