Skip to content

s390x: flic rework, tcg flic support and STSI

David Hildenbrand qemu-devel 3 versions – Applied

Status from this message: Thanks, applied.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest18 patches 2 repliesApplied
  2. v218 patches 12 repliesSuperseded
  3. v115 patches 30 repliesSuperseded

Changes in v3 from the cover letter

- "s390x: fix size + content of STSI blocks"
- CamelCase the structs/typedefs
- "s390x/tcg: simplify machine check handling"
- Fix wrong assert

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/18s390x/tcg: deliver multiple interrupts in a rowtarget/s390x/excp_helper.c+16 -40 replies
2/18s390x/flic: simplify flic initializationhw/intc/s390_flic.c hw/intc/s390_flic_kvm.c include/hw/s390x/s390_flic.h+5 -230 replies
3/18s390x/tcg: simplify lookup of flichw/intc/s390_flic.c+3 -50 replies
4/18s390x/tcg: simplify machine check handlingtarget/s390x/cpu.c target/s390x/cpu.h target/s390x/excp_helper.c +1 more+12 -470 replies
5/18s390x/flic: factor out injection of floating interruptshw/intc/s390_flic.c hw/intc/s390_flic_kvm.c include/hw/s390x/s390_flic.h +5 more+123 -1160 replies
6/18s390x/flic: no need to call s390_io_interrupt() from flichw/intc/s390_flic.c+2 -10 replies
7/18s390x/tcg: tolerate wrong wakeups due to floating interruptstarget/s390x/excp_helper.c+5 -00 replies
8/18s390x/flic: make floating interrupts on TCG actually floatinghw/intc/s390_flic.c include/hw/s390x/s390_flic.h target/s390x/cpu.c +3 more+212 -1520 replies
9/18s390x/tcg: implement TEST PENDING INTERRUPTIONtarget/s390x/helper.h target/s390x/insn-data.def target/s390x/misc_helper.c +1 more+64 -00 replies
10/18s390x/flic: implement qemu_s390_clear_io_flic()hw/intc/s390_flic.c+29 -20 replies
11/18s390x/flic: optimize CPU wakeup for TCGhw/intc/s390_flic.c target/s390x/cpu.h target/s390x/internal.h+33 -70 replies
12/18s390x: fix size + content of STSI blockstarget/s390x/cpu.h target/s390x/kvm.c target/s390x/misc_helper.c+33 -271 reply
13/18s390x/tcg: STSI overhaultarget/s390x/cpu.h target/s390x/misc_helper.c+131 -1030 replies
14/18s390x/tcg: remove SMP warninghw/s390x/s390-virtio-ccw.c+0 -40 replies
15/18configure: s390x supports mttcg nowconfigure+1 -00 replies
16/18s390x/tcg: cache the qemu flic in a central functionhw/intc/s390_flic.c include/hw/s390x/s390_flic.h target/s390x/interrupt.c +1 more+22 -100 replies
17/18s390x/kvm: cache the kvm flic in a central functionhw/intc/s390_flic_kvm.c+16 -50 replies
18/18s390x/flic: cache the common flic class in a central functionhw/intc/s390_flic.c hw/s390x/css.c hw/s390x/virtio-ccw.c +2 more+23 -110 replies

Reviews trailers per patch

3 of 18 patches have a Reviewed-by or Acked-by.

PatchChristian BorntraegerThomas Huth
1/18
2/18R-b
3/18
4/18
5/18
6/18
7/18
8/18
9/18
10/18
11/18
12/18R-b
13/18
14/18
15/18
16/18
17/18A-b
18/18

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH v3 00/18] s390x: flic rework, tcg flic support and STSI

This patch series implements floating interrupt support for TCG and fixes STSI so we can remove warnings related to s390x SMP and MTTCG.

KVM code has to be touched in order to factor out the injection routines into the flic ("s390x/flic: factor out injection of floating interrupts"). Basic testing didn't reveal any problems so far.

With this series I am now able to run fedora 26/27 and Ubuntu 17.10+ with 16 VCPUs (MTTCG) on a 8CPU host, doing a make -j16 in the guest. I got nasty stalls in the guest beforehand.

Now also included: More flic related caching to avoid recurring conversions.

Available at: https://github.com/davidhildenbrand/qemu.git s390x-queue

v2 -> v3:
- "s390x: fix size + content of STSI blocks"
- CamelCase the structs/typedefs
- "s390x/tcg: simplify machine check handling"
- Fix wrong assert

David Hildenbrand (18):
s390x/tcg: deliver multiple interrupts in a row s390x/flic: simplify flic initialization
s390x/tcg: simplify lookup of flic
s390x/tcg: simplify machine check handling s390x/flic: factor out injection of floating interrupts s390x/flic: no need to call s390_io_interrupt() from flic s390x/tcg: tolerate wrong wakeups due to floating interrupts s390x/flic: make floating interrupts on TCG actually floating s390x/tcg: implement TEST PENDING INTERRUPTION s390x/flic: implement qemu_s390_clear_io_flic() s390x/flic: optimize CPU wakeup for TCG
s390x: fix size + content of STSI blocks
s390x/tcg: STSI overhaul
s390x/tcg: remove SMP warning
configure: s390x supports mttcg now
s390x/tcg: cache the qemu flic in a central function s390x/kvm: cache the kvm flic in a central function s390x/flic: cache the common flic class in a central function

 configure                    |   1 +
 hw/intc/s390_flic.c          | 257 +++++++++++++++++++++++++++++++++++++++--
 hw/intc/s390_flic_kvm.c      |  84 +++++++++++---
 hw/s390x/css.c               |  10 +-
 hw/s390x/s390-virtio-ccw.c   |   4 -
 hw/s390x/virtio-ccw.c        |   4 +-
 include/hw/s390x/s390_flic.h |  57 ++++++++--
 target/s390x/cpu.c           |  10 --
 target/s390x/cpu.h           |  99 ++++++++--------
 target/s390x/excp_helper.c   | 147 +++++++++---------------
 target/s390x/helper.h        |   1 +
 target/s390x/insn-data.def   |   1 +
 target/s390x/internal.h      |   5 -
 target/s390x/interrupt.c     | 100 ++++------------
 target/s390x/kvm-stub.c      |  13 ---
 target/s390x/kvm.c           |  70 +-----------
 target/s390x/kvm_s390x.h     |  10 +-
 target/s390x/misc_helper.c   | 266 +++++++++++++++++++++++++++----------------
 target/s390x/translate.c     |   8 ++
 19 files changed, 680 insertions(+), 467 deletions(-)
Signature · 1 line
2.14.3