[Qemu-devel] [PATCH v9 00/25] MTTCG Base enabling patches with ARM enablement

Alex Bennée posted 25 patches 7 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170201150553.9381-1-alex.bennee@linaro.org
Test checkpatch passed
Test docker passed
Test s390x passed
There is a newer version of this series
configure                  |   6 +
cpu-exec-common.c          |   3 -
cpu-exec.c                 |  41 ++--
cpus.c                     | 343 ++++++++++++++++++++++++++-------
cputlb.c                   | 465 +++++++++++++++++++++++++++++++++++++--------
docs/multi-thread-tcg.txt  | 350 ++++++++++++++++++++++++++++++++++
exec.c                     |  12 +-
hw/core/irq.c              |   1 +
hw/i386/kvmvapic.c         |   4 +-
hw/intc/arm_gicv3_cpuif.c  |   3 +
hw/ppc/ppc.c               |  16 +-
hw/ppc/spapr.c             |   3 +
include/exec/cputlb.h      |   2 -
include/exec/exec-all.h    | 130 +++++++++++--
include/qom/cpu.h          |  16 ++
include/sysemu/cpus.h      |   2 +
memory.c                   |   2 +
qemu-options.hx            |  20 ++
qom/cpu.c                  |  10 +
target/arm/arm-powerctl.c  | 146 ++++++++------
target/arm/cpu.h           |  32 ++--
target/arm/helper.c        | 275 ++++++++++++++-------------
target/arm/op_helper.c     |  50 ++++-
target/arm/translate-a64.c |  12 +-
target/arm/translate.c     |  24 ++-
target/i386/smm_helper.c   |   7 +
target/s390x/misc_helper.c |   5 +-
target/sparc/ldst_helper.c |   8 +-
tcg/i386/tcg-target.h      |  11 ++
tcg/tcg-mo.h               |  48 +++++
tcg/tcg.h                  |  27 +--
translate-all.c            |  66 ++-----
translate-common.c         |  21 +-
vl.c                       |  49 ++++-
34 files changed, 1731 insertions(+), 479 deletions(-)
create mode 100644 docs/multi-thread-tcg.txt
create mode 100644 tcg/tcg-mo.h
[Qemu-devel] [PATCH v9 00/25] MTTCG Base enabling patches with ARM enablement
Posted by Alex Bennée 7 years, 2 months ago
Hi,

This is a quick update to the series I posted at the end of last week.
It mostly adds a bunch of review tags. There are two changes of note:

  cputlb and arm/sparc targets: convert mmuidx flushes...

  This has been updated to reduce the churn of the previous iteration
  by doing all the MMUIdx shifting in-situ for the tlb_flush calls.

And:

  tcg: enable MTTCG by default for ARM on x86 hosts

  Mostly cosmetic tweaks but I have clarified the semantics of the
  TCG_MO_foo declarations with a tweak to the TCG_TARGET_DEFAULT_MO on
  x86 to be (TCG_MO_ALL & ~TCG_MO_ST_LD).

From v8 rth said:

  "As far as I'm concerned, I'm done with my review and this can go in."

So this is really your last chance to raise any concerns or questions
before the merge (although of course bug fixes can go in later ;-).

Peter,

The patches that touch ARM and that could do with maintainer sign-off are:

  tcg: enable MTTCG by default for ARM on x86 hosts
  target-arm: ensure all cross vCPUs TLB flushes complete
  target-arm: introduce ARM_CP_EXIT_PC
  target-arm/cpu.h: make ARM_CP defined consistent
  target-arm: don't generate WFE/YIELD calls for MTTCG
  target-arm/powerctl: defer cpu reset work to CPU context
  cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap
  tcg: drop global lock during TCG code execution

Cheers,

Alex Bennée (19):
  docs: new design document multi-thread-tcg.txt
  tcg: move TCG_MO/BAR types into own file
  tcg: add kick timer for single-threaded vCPU emulation
  tcg: rename tcg_current_cpu to tcg_current_rr_cpu
  tcg: remove global exit_request
  tcg: enable tb_lock() for SoftMMU
  tcg: enable thread-per-vCPU
  cputlb: add assert_cpu_is_self checks
  cputlb: tweak qemu_ram_addr_from_host_nofail reporting
  cputlb and arm/sparc targets: convert mmuidx flushes from varg to
    bitmap
  cputlb: add tlb_flush_by_mmuidx async routines
  cputlb: atomically update tlb fields used by tlb_reset_dirty
  cputlb: introduce tlb_flush_*_all_cpus[_synced]
  target-arm/powerctl: defer cpu reset work to CPU context
  target-arm: don't generate WFE/YIELD calls for MTTCG
  target-arm/cpu.h: make ARM_CP defined consistent
  target-arm: introduce ARM_CP_EXIT_PC
  target-arm: ensure all cross vCPUs TLB flushes complete
  tcg: enable MTTCG by default for ARM on x86 hosts

Jan Kiszka (1):
  tcg: drop global lock during TCG code execution

KONRAD Frederic (2):
  tcg: add options for enabling MTTCG
  cputlb: introduce tlb_flush_* async work.

Pranith Kumar (3):
  mttcg: translate-all: Enable locking debug in a debug build
  mttcg: Add missing tb_lock/unlock() in cpu_exec_step()
  tcg: handle EXCP_ATOMIC exception for system emulation

 configure                  |   6 +
 cpu-exec-common.c          |   3 -
 cpu-exec.c                 |  41 ++--
 cpus.c                     | 343 ++++++++++++++++++++++++++-------
 cputlb.c                   | 465 +++++++++++++++++++++++++++++++++++++--------
 docs/multi-thread-tcg.txt  | 350 ++++++++++++++++++++++++++++++++++
 exec.c                     |  12 +-
 hw/core/irq.c              |   1 +
 hw/i386/kvmvapic.c         |   4 +-
 hw/intc/arm_gicv3_cpuif.c  |   3 +
 hw/ppc/ppc.c               |  16 +-
 hw/ppc/spapr.c             |   3 +
 include/exec/cputlb.h      |   2 -
 include/exec/exec-all.h    | 130 +++++++++++--
 include/qom/cpu.h          |  16 ++
 include/sysemu/cpus.h      |   2 +
 memory.c                   |   2 +
 qemu-options.hx            |  20 ++
 qom/cpu.c                  |  10 +
 target/arm/arm-powerctl.c  | 146 ++++++++------
 target/arm/cpu.h           |  32 ++--
 target/arm/helper.c        | 275 ++++++++++++++-------------
 target/arm/op_helper.c     |  50 ++++-
 target/arm/translate-a64.c |  12 +-
 target/arm/translate.c     |  24 ++-
 target/i386/smm_helper.c   |   7 +
 target/s390x/misc_helper.c |   5 +-
 target/sparc/ldst_helper.c |   8 +-
 tcg/i386/tcg-target.h      |  11 ++
 tcg/tcg-mo.h               |  48 +++++
 tcg/tcg.h                  |  27 +--
 translate-all.c            |  66 ++-----
 translate-common.c         |  21 +-
 vl.c                       |  49 ++++-
 34 files changed, 1731 insertions(+), 479 deletions(-)
 create mode 100644 docs/multi-thread-tcg.txt
 create mode 100644 tcg/tcg-mo.h

-- 
2.11.0