[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 09/18] tb hash: hash phys_pc, pc, and flags w
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [PATCH v5 09/18] tb hash: hash phys_pc, pc, and flags with xxhash |
Date: |
Tue, 17 May 2016 15:09:31 -0400 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, May 17, 2016 at 20:47:52 +0300, Sergey Fedorov wrote:
> On 14/05/16 06:34, Emilio G. Cota wrote:
> > For some workloads such as arm bootup, tb_phys_hash is performance-critical.
> > The is due to the high frequency of accesses to the hash table, originated
> > by (frequent) TLB flushes that wipe out the cpu-private tb_jmp_cache's.
> > More info:
> > https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg05098.html
> >
> > To dig further into this I modified an arm image booting debian jessie to
> > immediately shut down after boot. Analysis revealed that quite a bit of time
> > is unnecessarily spent in tb_phys_hash: the cause is poor hashing that
> > results in very uneven loading of chains in the hash table's buckets;
> > the longest observed chain had ~550 elements.
> >
> > The appended addresses this with two changes:
>
> Does "the appended" means "this patch"? Sorry, I've just never seen such
> expression before...
Yes, in this context a patch is _appended_ to the (long-ish) discussion.
(snip)
> > -static inline unsigned int tb_phys_hash_func(tb_page_addr_t pc)
> > +static inline
> > +uint32_t tb_hash_func(tb_page_addr_t phys_pc, target_ulong pc, int flags)
>
> Nitpicking: now 'flags' is of uint32_t type.
I've changed this in my tree -- thanks!
Emilio
- [Qemu-devel] [PATCH v5 10/18] qdist: add module to represent frequency distributions of data, (continued)
- [Qemu-devel] [PATCH v5 10/18] qdist: add module to represent frequency distributions of data, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 08/18] exec: add tb_hash_func5, derived from xxhash, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 16/18] qht: add test-qht-par to invoke qht-bench from 'check' target, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 17/18] tb hash: track translated blocks with qht, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 15/18] qht: add qht-bench, a performance benchmark, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 14/18] qht: add test program, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 09/18] tb hash: hash phys_pc, pc, and flags with xxhash, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 11/18] qdist: add test program, Emilio G. Cota, 2016/05/13
- [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Emilio G. Cota, 2016/05/13
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Sergey Fedorov, 2016/05/20
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Emilio G. Cota, 2016/05/20
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Emilio G. Cota, 2016/05/21
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Alex Bennée, 2016/05/22
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Emilio G. Cota, 2016/05/23
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Sergey Fedorov, 2016/05/21
- Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table, Sergey Fedorov, 2016/05/23
Re: [Qemu-devel] [PATCH v5 00/18] tb hash improvements, Sergey Fedorov, 2016/05/23