[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qemu] spapr_pci: Add numa node id
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-devel] [PATCH qemu] spapr_pci: Add numa node id |
Date: |
Wed, 10 Aug 2016 15:42:54 +1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 27/07/16 18:03, Alexey Kardashevskiy wrote:
> This adds a numa id property to a PHB to allow linking passed PCI device
> to CPU/memory. It is up to the management stack to do CPU/memory pinning
> to the node with the actual PCI device.
>
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
Ping?
> ---
> hw/ppc/spapr_pci.c | 13 +++++++++++++
> include/hw/pci-host/spapr.h | 2 ++
> 2 files changed, 15 insertions(+)
>
> diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
> index 949c44f..af5394a 100644
> --- a/hw/ppc/spapr_pci.c
> +++ b/hw/ppc/spapr_pci.c
> @@ -47,6 +47,7 @@
> #include "sysemu/device_tree.h"
> #include "sysemu/kvm.h"
> #include "sysemu/hostmem.h"
> +#include "sysemu/numa.h"
>
> #include "hw/vfio/vfio.h"
>
> @@ -1544,6 +1545,7 @@ static Property spapr_phb_properties[] = {
> DEFINE_PROP_BOOL("ddw", sPAPRPHBState, ddw_enabled, true),
> DEFINE_PROP_UINT64("pgsz", sPAPRPHBState, page_size_mask,
> (1ULL << 12) | (1ULL << 16)),
> + DEFINE_PROP_UINT32("node", sPAPRPHBState, numa_node, -1),
> DEFINE_PROP_END_OF_LIST(),
> };
>
> @@ -1805,6 +1807,11 @@ int spapr_populate_pci_dt(sPAPRPHBState *phb,
> cpu_to_be32(1),
> cpu_to_be32(RTAS_IBM_RESET_PE_DMA_WINDOW)
> };
> + uint32_t associativity[] = {cpu_to_be32(0x4),
> + cpu_to_be32(0x0),
> + cpu_to_be32(0x0),
> + cpu_to_be32(0x0),
> + cpu_to_be32(phb->numa_node)};
> sPAPRTCETable *tcet;
> PCIBus *bus = PCI_HOST_BRIDGE(phb)->bus;
> sPAPRFDT s_fdt;
> @@ -1837,6 +1844,12 @@ int spapr_populate_pci_dt(sPAPRPHBState *phb,
> &ddw_extensions, sizeof(ddw_extensions)));
> }
>
> + /* Advertise NUMA via ibm,associativity */
> + if (nb_numa_nodes > 1) {
> + _FDT(fdt_setprop(fdt, bus_off, "ibm,associativity", associativity,
> + sizeof(associativity)));
> + }
> +
> /* Build the interrupt-map, this must matches what is done
> * in pci_spapr_map_irq
> */
> diff --git a/include/hw/pci-host/spapr.h b/include/hw/pci-host/spapr.h
> index 5adc603..53c4b2d 100644
> --- a/include/hw/pci-host/spapr.h
> +++ b/include/hw/pci-host/spapr.h
> @@ -75,6 +75,8 @@ struct sPAPRPHBState {
> bool ddw_enabled;
> uint64_t page_size_mask;
> uint64_t dma64_win_addr;
> +
> + uint32_t numa_node;
> };
>
> #define SPAPR_PCI_MAX_INDEX 255
>
--
Alexey
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH qemu] spapr_pci: Add numa node id,
Alexey Kardashevskiy <=