Re: [PATCH v19 01/21] s390x/cpu topology: add s390 specifics to CPU topology

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 4/18/23 12:15, Thomas Huth wrote:
On 18/04/2023 12.01, Pierre Morel wrote:

On 4/18/23 10:53, Nina Schoetterl-Glausch wrote:
On Mon, 2023-04-03 at 18:28 +0200, Pierre Morel wrote:
S390 adds two new SMP levels, drawers and books to the CPU
topology.
The S390 CPU have specific topology features like dedication
and entitlement to give to the guest indications on the host
vCPUs scheduling and help the guest take the best decisions
on the scheduling of threads on the vCPUs.

Let us provide the SMP properties with books and drawers levels
and S390 CPU with dedication and entitlement,

Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx>
---
  MAINTAINERS                     |  5 ++++
  qapi/machine-common.json        | 22 ++++++++++++++
  qapi/machine-target.json        | 12 ++++++++
  qapi/machine.json               | 17 +++++++++--
  include/hw/boards.h             | 10 ++++++-
  include/hw/s390x/cpu-topology.h | 15 ++++++++++
Is hw/s390x the right path for cpu-topology?
I haven't understood the difference between hw/s390x and target/s390x
but target/s390x feels more correct, I could be mistaken though.

AFAIK target/s390 is for CPU emulation code while hw/s390 is for other emulation.

So it depends how we classify the CPU topology, it is related to CPU but it is no emulation.

Normally I'd say target/ is for everything what happens within a CPU chip, and hw/ is for everything that happens outside of a CPU chip, i.e. machine definitions and other devices. Now CPU topology is borderline - drawers and books are rather a concept of the machine and not of the CPU, but things like dies and threads rather happen within a CPU chip. So I don't mind too much either way, but I think it's certainly ok to keep it in hw/s390x/ if you prefer that.

 Thomas

Thanks for the clarification Thomas.

Pierre





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux