[Qemu-devel] [PATCH v7 00/26] tcg cross-tb optimizations

Richard Henderson posted 26 patches 6 years, 10 months ago
Only 25 patches received!
configure                    |  6 ++---
cpu-exec.c                   |  6 ++---
include/exec/exec-all.h      |  2 ++
include/exec/tb-hash.h       | 12 ++++++++++
include/qemu/atomic.h        | 34 +++++++++++++++++++++-------
target/alpha/translate.c     | 30 ++++++++++++++++++------
target/arm/translate-a64.c   |  5 ++--
target/arm/translate.c       | 21 +++++++++++++----
target/arm/translate.h       |  4 ++++
target/hppa/translate.c      |  8 +++----
target/i386/translate.c      | 43 +++++++++++++++++++++++++++--------
target/mips/translate.c      |  4 ++--
target/nios2/translate.c     |  2 +-
target/s390x/translate.c     | 17 ++++++++++----
tcg-runtime.c                | 32 ++++++++++++++++++++++++++
tcg/README                   |  8 +++++++
tcg/aarch64/tcg-target.h     |  1 +
tcg/aarch64/tcg-target.inc.c | 22 ++++++++++++++++--
tcg/arm/tcg-target.h         |  1 +
tcg/arm/tcg-target.inc.c     | 54 +++++++++++++++++++++++++++++---------------
tcg/i386/tcg-target.h        |  1 +
tcg/i386/tcg-target.inc.c    | 24 ++++++++++++++++++--
tcg/ia64/tcg-target.h        |  1 +
tcg/mips/tcg-target.h        |  1 +
tcg/mips/tcg-target.inc.c    | 13 +++++++++++
tcg/ppc/tcg-target.h         |  1 +
tcg/ppc/tcg-target.inc.c     |  7 ++++++
tcg/s390/tcg-target.h        |  1 +
tcg/s390/tcg-target.inc.c    | 24 +++++++++++++++++---
tcg/sparc/tcg-target.h       |  1 +
tcg/sparc/tcg-target.inc.c   | 11 ++++++++-
tcg/tcg-op.c                 | 12 ++++++++++
tcg/tcg-op.h                 | 11 +++++++++
tcg/tcg-opc.h                |  1 +
tcg/tcg-runtime.h            |  2 ++
tcg/tcg.c                    |  5 ++++
tcg/tcg.h                    |  1 +
tcg/tci/tcg-target.h         |  1 +
38 files changed, 353 insertions(+), 77 deletions(-)
[Qemu-devel] [PATCH v7 00/26] tcg cross-tb optimizations
Posted by Richard Henderson 6 years, 10 months ago
Changes since v7:
  * I've dropped the alpha patch to use goto_ptr until I can figure out
    why this is causing minute-long hangs while booting a kernel.  It's
    an odd one, perhaps timing related, since the hangs do not (usually)
    occur when logging is enabled.
  * Added r-b and patches from Aurelien.


r~


Aurelien Jarno (3):
  tcg/mips: implement goto_ptr
  target/mips: optimize cross-page direct jumps in softmmu
  target/mips: optimize indirect branches

Emilio G. Cota (10):
  tcg: Introduce goto_ptr opcode and tcg_gen_lookup_and_goto_ptr
  tcg/i386: implement goto_ptr
  target/arm: optimize cross-page direct jumps in softmmu
  target/arm: optimize indirect branches
  target/i386: introduce gen_jr helper to generate lookup_and_goto_ptr
  target/i386: optimize cross-page direct jumps in softmmu
  target/i386: optimize indirect branches
  tb-hash: improve tb_jmp_cache hash function in user mode
  target/aarch64: optimize cross-page direct jumps in softmmu
  target/aarch64: optimize indirect branches

Richard Henderson (13):
  target/nios2: Fix 64-bit ilp32 compilation
  tcg/sparc: Use the proper compilation flags for 32-bit
  qemu/atomic: Loosen restrictions for 64-bit ILP32 hosts
  tcg/ppc: Implement goto_ptr
  tcg/aarch64: Implement goto_ptr
  tcg/sparc: Implement goto_ptr
  tcg/s390: Implement goto_ptr
  tcg/arm: Clarify tcg_out_bx for arm4 host
  tcg/arm: Implement goto_ptr
  target/s390: Use tcg_gen_lookup_and_goto_ptr
  target/hppa: Use tcg_gen_lookup_and_goto_ptr
  target/alpha: Implement WTINT inline
  target/alpha: Use goto_tb for fallthru between TBs

 configure                    |  6 ++---
 cpu-exec.c                   |  6 ++---
 include/exec/exec-all.h      |  2 ++
 include/exec/tb-hash.h       | 12 ++++++++++
 include/qemu/atomic.h        | 34 +++++++++++++++++++++-------
 target/alpha/translate.c     | 30 ++++++++++++++++++------
 target/arm/translate-a64.c   |  5 ++--
 target/arm/translate.c       | 21 +++++++++++++----
 target/arm/translate.h       |  4 ++++
 target/hppa/translate.c      |  8 +++----
 target/i386/translate.c      | 43 +++++++++++++++++++++++++++--------
 target/mips/translate.c      |  4 ++--
 target/nios2/translate.c     |  2 +-
 target/s390x/translate.c     | 17 ++++++++++----
 tcg-runtime.c                | 32 ++++++++++++++++++++++++++
 tcg/README                   |  8 +++++++
 tcg/aarch64/tcg-target.h     |  1 +
 tcg/aarch64/tcg-target.inc.c | 22 ++++++++++++++++--
 tcg/arm/tcg-target.h         |  1 +
 tcg/arm/tcg-target.inc.c     | 54 +++++++++++++++++++++++++++++---------------
 tcg/i386/tcg-target.h        |  1 +
 tcg/i386/tcg-target.inc.c    | 24 ++++++++++++++++++--
 tcg/ia64/tcg-target.h        |  1 +
 tcg/mips/tcg-target.h        |  1 +
 tcg/mips/tcg-target.inc.c    | 13 +++++++++++
 tcg/ppc/tcg-target.h         |  1 +
 tcg/ppc/tcg-target.inc.c     |  7 ++++++
 tcg/s390/tcg-target.h        |  1 +
 tcg/s390/tcg-target.inc.c    | 24 +++++++++++++++++---
 tcg/sparc/tcg-target.h       |  1 +
 tcg/sparc/tcg-target.inc.c   | 11 ++++++++-
 tcg/tcg-op.c                 | 12 ++++++++++
 tcg/tcg-op.h                 | 11 +++++++++
 tcg/tcg-opc.h                |  1 +
 tcg/tcg-runtime.h            |  2 ++
 tcg/tcg.c                    |  5 ++++
 tcg/tcg.h                    |  1 +
 tcg/tci/tcg-target.h         |  1 +
 38 files changed, 353 insertions(+), 77 deletions(-)

-- 
2.9.4