[Top][All Lists]

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

[Qemu-devel] [PATCH 0/7] pc/spapr: unify handling of possible CPUs

From: Igor Mammedov
Subject: [Qemu-devel] [PATCH 0/7] pc/spapr: unify handling of possible CPUs
Date: Thu, 9 Feb 2017 12:08:31 +0100

Series is prerequsite split of from NUMA cpu mapping
refactoring and includes only possible_cpus[] generalization
to make it reusable for SPAPR and virt-arm targets as
has been requested by Eduardo [1].

Since virt-arm doesn't support -device based CPUs, ARM
patches are not included here and will be posted separately as
 'hw/arm/virt: -device cpu support'
series with dependency on this series.

This series doesn't include any of NUMA refactoring patches,
which will be posted on top once SPAPR and virt-arm would use

Hence goal of this series is to make x86 specific possible_cpus[]
more generic, move it to MachineState and reuse it in SPAPR
machine so we could use it as common storage for topology
information when parsing -smp/-numa and then follow
the same/similar CPU creation pattern across the affected targets.

As result of this series:
  * possible_cpus[] becomes part of MachineState
  * SPAPR machine reuses it for persistent topololy storage
    and core bookkeeping
  * target specific query_hotpluggable_cpus() callbacks are
    generalized into common machine_query_hotpluggable_cpus()

Series depends on:
  [PATCH 0/3] spapr: fix cpu core hotunplug call flow
which is staged for next pull req in SPAPR tree.

git tree for testing:
  address@hidden:imammedo/qemu.git unify_poissible_cpus_v1

Regression tested CPU hotplug with ppc fedora25 guest on ppc host
with kvm enabled.

 1) "[RFC 00/13] numa: add '-numa cpu' option"

CC: David Gibson <address@hidden> (supporter:sPAPR)
CC: Alexander Graf <address@hidden> (supporter:sPAPR)
CC: address@hidden 
CC: Bharata B Rao <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Marcel Apfelbaum <address@hidden>

Igor Mammedov (7):
  machine: move possible_cpus to MachineState
  pc: move pcms->possible_cpus init out of pc_cpus_init()
  pc: calculate topology only once when possible_cpus is initialised
  pc: pass apic_id to pc_find_cpu_slot() directly so lookup could be
    done without CPU object
  change CPUArchId.cpu type to Object*
  spapr: reuse machine->possible_cpus instead of cores[]
  machine: unify [pc_|spapr_]query_hotpluggable_cpus() callbacks

 include/hw/boards.h    |   8 +++-
 include/hw/i386/pc.h   |   1 -
 include/hw/ppc/spapr.h |   1 -
 hw/acpi/cpu.c          |   2 +-
 hw/core/machine.c      |  31 +++++++++++++
 hw/i386/pc.c           | 124 +++++++++++++++++++++----------------------------
 hw/ppc/spapr.c         | 117 +++++++++++++++++++++++++++-------------------
 7 files changed, 162 insertions(+), 122 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]