[PATCH v2 0/4] ppc/pnv: SMT support for powernv

Nicholas Piggin posted 4 patches 9 months, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230705120631.27670-1-npiggin@gmail.com
Maintainers: "Cédric Le Goater" <clg@kaod.org>, "Frédéric Barrat" <fbarrat@linux.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Cleber Rosa <crosa@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
docs/system/ppc/powernv.rst  |  5 ---
hw/ppc/pnv.c                 | 12 +++++
hw/ppc/pnv_core.c            | 13 +++---
hw/ppc/spapr_cpu_core.c      |  2 +
target/ppc/cpu.h             |  3 ++
target/ppc/cpu_init.c        | 14 +++++-
target/ppc/excp_helper.c     |  4 ++
target/ppc/helper.h          |  1 +
target/ppc/misc_helper.c     | 29 ++++++++++++
target/ppc/spr_common.h      |  1 +
target/ppc/translate.c       | 27 ++++++++---
tests/avocado/ppc_powernv.py | 87 ++++++++++++++++++++++++++++++++++++
12 files changed, 179 insertions(+), 19 deletions(-)
create mode 100644 tests/avocado/ppc_powernv.py
[PATCH v2 0/4] ppc/pnv: SMT support for powernv
Posted by Nicholas Piggin 9 months, 4 weeks ago
These patches implement enough to install a distro, boot, run SMP KVM
guests with libvirt with good performance using MTTCG (as reported by
Cedric).

There are a few more SPRs that need to be done, and per-LPAR SPRs are
mostly not annotated yet so it can't run in 1 LPAR mode. But those can
be added in time, it will take a bit of time to get everything exactly
as hardware does so I consider this good enough to run common
software usefully.

Since RFC:
- Rebased against ppc-next (no conflicts vs upstream anyway).
- Add patch 4 avocado boot test with SMT, as was added with pseries SMT.
- Renamed POWERPC_FLAG_1LPAR to POWERPC_FLAG_SMT_1LPAR since it implies
  SMT.
- Fixed typos, patch 1, 3 changelogs improvement (hopefully).

Since v1:
- Fix clang compile bug
- Fix LPAR-per-thread bug in CTRL/DPDES/msgsndp in patch 1
- Add 2-socket test case to powernv Linux boot avocado test
- Remove SMT caveat from docs/system/ppc/powernv.rst

Thanks,
Nick

Nicholas Piggin (4):
  target/ppc: Add LPAR-per-core vs per-thread mode flag
  target/ppc: SMT support for the HID SPR
  ppc/pnv: SMT support for powernv
  tests/avocado: Add powernv machine test script

 docs/system/ppc/powernv.rst  |  5 ---
 hw/ppc/pnv.c                 | 12 +++++
 hw/ppc/pnv_core.c            | 13 +++---
 hw/ppc/spapr_cpu_core.c      |  2 +
 target/ppc/cpu.h             |  3 ++
 target/ppc/cpu_init.c        | 14 +++++-
 target/ppc/excp_helper.c     |  4 ++
 target/ppc/helper.h          |  1 +
 target/ppc/misc_helper.c     | 29 ++++++++++++
 target/ppc/spr_common.h      |  1 +
 target/ppc/translate.c       | 27 ++++++++---
 tests/avocado/ppc_powernv.py | 87 ++++++++++++++++++++++++++++++++++++
 12 files changed, 179 insertions(+), 19 deletions(-)
 create mode 100644 tests/avocado/ppc_powernv.py

-- 
2.40.1
Re: [PATCH v2 0/4] ppc/pnv: SMT support for powernv
Posted by Daniel Henrique Barboza 9 months, 3 weeks ago
Queued in gitlab.com/danielhb/qemu/tree/ppc-next. Thanks,


Daniel

On 7/5/23 09:06, Nicholas Piggin wrote:
> These patches implement enough to install a distro, boot, run SMP KVM
> guests with libvirt with good performance using MTTCG (as reported by
> Cedric).
> 
> There are a few more SPRs that need to be done, and per-LPAR SPRs are
> mostly not annotated yet so it can't run in 1 LPAR mode. But those can
> be added in time, it will take a bit of time to get everything exactly
> as hardware does so I consider this good enough to run common
> software usefully.
> 
> Since RFC:
> - Rebased against ppc-next (no conflicts vs upstream anyway).
> - Add patch 4 avocado boot test with SMT, as was added with pseries SMT.
> - Renamed POWERPC_FLAG_1LPAR to POWERPC_FLAG_SMT_1LPAR since it implies
>    SMT.
> - Fixed typos, patch 1, 3 changelogs improvement (hopefully).
> 
> Since v1:
> - Fix clang compile bug
> - Fix LPAR-per-thread bug in CTRL/DPDES/msgsndp in patch 1
> - Add 2-socket test case to powernv Linux boot avocado test
> - Remove SMT caveat from docs/system/ppc/powernv.rst
> 
> Thanks,
> Nick
> 
> Nicholas Piggin (4):
>    target/ppc: Add LPAR-per-core vs per-thread mode flag
>    target/ppc: SMT support for the HID SPR
>    ppc/pnv: SMT support for powernv
>    tests/avocado: Add powernv machine test script
> 
>   docs/system/ppc/powernv.rst  |  5 ---
>   hw/ppc/pnv.c                 | 12 +++++
>   hw/ppc/pnv_core.c            | 13 +++---
>   hw/ppc/spapr_cpu_core.c      |  2 +
>   target/ppc/cpu.h             |  3 ++
>   target/ppc/cpu_init.c        | 14 +++++-
>   target/ppc/excp_helper.c     |  4 ++
>   target/ppc/helper.h          |  1 +
>   target/ppc/misc_helper.c     | 29 ++++++++++++
>   target/ppc/spr_common.h      |  1 +
>   target/ppc/translate.c       | 27 ++++++++---
>   tests/avocado/ppc_powernv.py | 87 ++++++++++++++++++++++++++++++++++++
>   12 files changed, 179 insertions(+), 19 deletions(-)
>   create mode 100644 tests/avocado/ppc_powernv.py
>