From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBt8d-00075L-HQ for qemu-devel@nongnu.org; Sat, 11 Jun 2016 20:20:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bBt8Z-0003tb-AU for qemu-devel@nongnu.org; Sat, 11 Jun 2016 20:20:26 -0400 Received: from mail-pa0-x243.google.com ([2607:f8b0:400e:c03::243]:36234) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBt8Z-0003tX-2k for qemu-devel@nongnu.org; Sat, 11 Jun 2016 20:20:23 -0400 Received: by mail-pa0-x243.google.com with SMTP id fg1so7709090pad.3 for ; Sat, 11 Jun 2016 17:20:22 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Sat, 11 Jun 2016 17:20:18 -0700 Message-Id: <1465690820-28972-1-git-send-email-rth@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PULL v2 00/15] tb hash improvements List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org Pull v2, with the fixed ppc cpu_relax, and the two %lu fixes. Not re-sending the rest of the patch set. r~ The following changes since commit a93c1bdf0bd4689287094ddb2aae3dc907da3535: Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20160610-1' into staging (2016-06-10 15:47:17 +0100) are available in the git repository at: git://github.com/rth7680/qemu.git tags/pull-tcg-20160611 for you to fetch changes up to 329844d4bc3d5a11f1e63938d66f74c9584c7abc: translate-all: add tb hash bucket info to 'info jit' dump (2016-06-11 17:11:16 -0700) ---------------------------------------------------------------- TB hashing improvements ---------------------------------------------------------------- Emilio G. Cota (14): compiler.h: add QEMU_ALIGNED() to enforce struct alignment seqlock: remove optional mutex seqlock: rename write_lock/unlock to write_begin/end include/processor.h: define cpu_relax() exec: add tb_hash_func5, derived from xxhash tb hash: hash phys_pc, pc, and flags with xxhash qdist: add module to represent frequency distributions of data qdist: add test program qht: QEMU's fast, resizable and scalable Hash Table qht: add test program qht: add qht-bench, a performance benchmark qht: add test-qht-par to invoke qht-bench from 'check' target tb hash: track translated blocks with qht translate-all: add tb hash bucket info to 'info jit' dump Guillaume Delbergue (1): qemu-thread: add simple test-and-set spinlock cpu-exec.c | 92 ++--- cpus.c | 30 +- include/exec/exec-all.h | 2 - include/exec/tb-context.h | 7 +- include/exec/tb-hash-xx.h | 94 ++++++ include/exec/tb-hash.h | 7 +- include/qemu/compiler.h | 2 + include/qemu/processor.h | 30 ++ include/qemu/qdist.h | 63 ++++ include/qemu/qht.h | 183 ++++++++++ include/qemu/seqlock.h | 14 +- include/qemu/thread.h | 35 ++ tests/.gitignore | 4 + tests/Makefile.include | 14 +- tests/qht-bench.c | 488 +++++++++++++++++++++++++++ tests/test-qdist.c | 384 +++++++++++++++++++++ tests/test-qht-par.c | 56 ++++ tests/test-qht.c | 159 +++++++++ translate-all.c | 131 +++++--- util/Makefile.objs | 2 + util/qdist.c | 395 ++++++++++++++++++++++ util/qht.c | 833 ++++++++++++++++++++++++++++++++++++++++++++++ 22 files changed, 2893 insertions(+), 132 deletions(-) create mode 100644 include/exec/tb-hash-xx.h create mode 100644 include/qemu/processor.h create mode 100644 include/qemu/qdist.h create mode 100644 include/qemu/qht.h create mode 100644 tests/qht-bench.c create mode 100644 tests/test-qdist.c create mode 100644 tests/test-qht-par.c create mode 100644 tests/test-qht.c create mode 100644 util/qdist.c create mode 100644 util/qht.c