Re: [PATCH v5 5/5] arm/dom0less: introduce Kconfig for dom0less feature

2023-11-19 Thread Michal Orzel
Hi Luca, On 14/11/2023 10:03, Luca Fancellu wrote: > > > Introduce a Kconfig for the dom0less feature, enabled by default, > to be able to choose if the feature should be compiled or not. > > Provide static inline stubs when the option is disabled for the > functions externally visible. > > Us

Re: [PATCH v5 4/5] xen/arm: Move static memory build code in separate modules

2023-11-19 Thread Michal Orzel
Hi Luca, On 14/11/2023 10:03, Luca Fancellu wrote: > > > Move static memory and static shared memory code in separate modules > so that they are included only when the corresponding feature is > enabled, doing that we modularise the features and we remove some > ifdefs from the code to improve r

Re: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a separate module

2023-11-19 Thread Michal Orzel
Hi Luca, On 14/11/2023 10:03, Luca Fancellu wrote: > > > Currently the dom0less feature code is mostly inside domain_build.c > and setup.c, it is a feature that may not be useful to everyone so > put the code in a different compilation module in order to make it > easier to disable the feature i

Re: [XEN v4 2/2] xen/arm32: head Split and move MMU-specific head.S to mmu/head.S

2023-11-19 Thread Michal Orzel
Hi Ayan, On 17/11/2023 16:31, Ayan Kumar Halder wrote: > The MMU specific code in head.S will not be used on MPU systems. > Instead of introducing more #ifdefs which will bring complexity > to the code, move MMU related code to mmu/head.S and keep common > code in head.S. Two notes while moving: >

Re: [XEN v4 1/2] xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()

2023-11-19 Thread Michal Orzel
Hi Ayan, On 17/11/2023 16:31, Ayan Kumar Halder wrote: > All the MMU related functionality have been clubbed together in > enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for > booting secondary cpus. > This is done in preparation for moving the code related to MMU in MM

Re: [linux-linus test] 183794: regressions - FAIL

2023-11-19 Thread Juergen Gross
On 20.11.23 03:21, osstest service owner wrote: flight 183794 linux-linus real [real] http://logs.test-lab.xenproject.org/osstest/logs/183794/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-arm64-arm64-examine 8 reboot

[PATCH v6 16/17] xen/arm: Provide Kconfig options for Arm to enable NUMA

2023-11-19 Thread Henry Wang
From: Wei Chen Arm platforms support both ACPI and device tree. We don't want users to select device tree NUMA or ACPI NUMA manually. We hope users can just enable NUMA for Arm, and device tree NUMA and ACPI NUMA can be selected depends on device tree feature and ACPI feature status automatically

[PATCH v6 17/17] docs: update numa command line to support Arm

2023-11-19 Thread Henry Wang
From: Wei Chen Current numa command in documentation is x86 only. Remove x86 from numa command's arch limitation in this patch. Also add related entries in the SUPPORT.md and CHANGELOG.md. Signed-off-by: Wei Chen Signed-off-by: Henry Wang --- v6: - Add the CHANGELOG.md entry, drop Jan's Acked

[PATCH v6 09/17] xen/arm: introduce a helper to parse device tree NUMA distance map

2023-11-19 Thread Henry Wang
From: Wei Chen A NUMA aware device tree will provide a "distance-map" node to describe distance between any two nodes. This patch introduce a new helper to parse this distance map. Note that, since the NUMA device tree binding does not explicitly specify the range of valid node distance, hence r

[PATCH v6 13/17] xen/arm: implement numa_node_to_arch_nid for device tree NUMA

2023-11-19 Thread Henry Wang
From: Wei Chen Device tree based NUMA doesn't have the proximity domain like ACPI. So we can return node id directly as arch nid. Signed-off-by: Wei Chen Signed-off-by: Henry Wang --- v5 -> v6: - Rebase on top of staging without code changes. v1 -> v5: - Use numa_node_to_arch_nid instead of du

[PATCH v6 11/17] xen/arm: keep guest still be NUMA unware

2023-11-19 Thread Henry Wang
From: Wei Chen The NUMA information provided in the host Device-Tree are only for Xen. For dom0, we want to hide them as they may be different (for now, dom0 is still not aware of NUMA) The CPU and memory nodes are recreated from scratch for the domain. So we already skip the "numa-node-id" prope

[PATCH v6 14/17] xen/arm: use CONFIG_NUMA to gate node_online_map in smpboot

2023-11-19 Thread Henry Wang
From: Wei Chen node_online_map in smpboot is still needed for Arm when NUMA is turned off by Kconfig. Signed-off-by: Wei Chen Signed-off-by: Henry Wang --- v6: - Rebase on top of staging without code changes. --- xen/arch/arm/smpboot.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen

[PATCH v6 12/17] xen/arm: enable device tree based NUMA in system init

2023-11-19 Thread Henry Wang
From: Wei Chen In this patch, we can start to create NUMA system that is based on device tree. Signed-off-by: Wei Chen Signed-off-by: Henry Wang --- v5 -> v6: - Rebase on top of staging without code changes. v1 -> v5: - Fix coding style: label indented by 1 space. - replace ~0 by INVALID_PADDR

[PATCH v6 15/17] xen/arm: Set correct per-cpu cpu_core_mask

2023-11-19 Thread Henry Wang
In the common sysctl command XEN_SYSCTL_physinfo, the cores_per_socket is calculated based on the cpu_core_mask of CPU0. Currently on Arm this is a fixed value 1 (can be checked via xl info), which is not correct. This is because during the Arm cpu online process, set_cpu_sibling_map() only sets th

[PATCH v6 08/17] xen/arm: introduce a helper to parse device tree memory node

2023-11-19 Thread Henry Wang
From: Wei Chen Memory blocks' NUMA ID information is stored in device tree's memory nodes as "numa-node-id". We need a new helper to parse and verify this ID from memory nodes. Signed-off-by: Wei Chen Signed-off-by: Henry Wang --- v5 -> v6: - Rebase on top of staging without code changes. v1 -

[PATCH v6 10/17] xen/arm: unified entry to parse all NUMA data from device tree

2023-11-19 Thread Henry Wang
From: Wei Chen In this function, we scan the whole device tree to parse CPU node id, memory node id and distance-map. Though early_scan_node will invoke a handler to process memory nodes. If we want to parse memory node id in that handler, we have to embed NUMA parse code in that handler. But we

[PATCH v6 06/17] xen/arm: Add boot and secondary CPU to NUMA system

2023-11-19 Thread Henry Wang
From: Wei Chen In this patch, we make NUMA node online and add cpu to its NUMA node. This will make NUMA-aware components have NUMA affinity data to support their work. To keep the mostly the same behavior of x86, we use numa_detect_cpu_node to online node. The difference is that, we have prepar

[PATCH v6 04/17] xen/arm: use arch_get_ram_range to get memory ranges from bootinfo

2023-11-19 Thread Henry Wang
From: Wei Chen Implement the same helper "arch_get_ram_range" as x86 for NUMA code to get memory bank from Arm bootinfo. Signed-off-by: Wei Chen Signed-off-by: Henry Wang --- v2 -> v6: - Rebase on top of staging without code changes. v1 -> v2: - Use arch_get_ram_range instead of arch_get_memor

[PATCH v6 03/17] xen/arm: implement node distance helpers for Arm

2023-11-19 Thread Henry Wang
From: Wei Chen We will parse NUMA nodes distances from device tree. So we need a matrix to record the distances between any two nodes we parsed. Accordingly, we provide this node_set_distance API for device tree NUMA to set the distance for any two nodes in this patch. When NUMA initialization fa

[PATCH v6 01/17] xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS

2023-11-19 Thread Henry Wang
From: Wei Chen As a memory range described in device tree cannot be split across multiple nodes. And it is very likely than if you have more than 64 nodes, you may need a lot more than 2 regions per node. So the default NR_NODE_MEMBLKS value (MAX_NUMNODES * 2) makes no sense on Arm. So, for Arm,

[PATCH v6 07/17] xen/arm: introduce a helper to parse device tree processor node

2023-11-19 Thread Henry Wang
From: Wei Chen Processor NUMA ID information is stored in device tree's processor node as "numa-node-id". We need a new helper to parse this ID from processor node. If we get this ID from processor node, this ID's validity still need to be checked. Once we got a invalid NUMA ID from any processor

[PATCH v6 05/17] xen/arm: build NUMA cpu_to_node map in dt_smp_init_cpus

2023-11-19 Thread Henry Wang
From: Wei Chen NUMA implementation has a cpu_to_node array to store CPU to NODE map. Xen is using CPU logical ID in runtime components, so we use CPU logical ID as CPU index in cpu_to_node. In device tree case, cpu_logical_map is created in dt_smp_init_cpus. So, when NUMA is enabled, dt_smp_init

[PATCH v6 02/17] xen/arm: implement helpers to get and update NUMA status

2023-11-19 Thread Henry Wang
From: Wei Chen NUMA has one global and one implementation specific switches. For ACPI NUMA implementation, Xen has acpi_numa, so we introduce device_tree_numa for device tree NUMA implementation. And use enumerations to indicate init, off and on status. arch_numa_disabled will get device_tree_nu

[PATCH v6 00/17] Device tree based NUMA support for Arm

2023-11-19 Thread Henry Wang
The preparation work to support NUMA on Arm has been merged and can be found at [1] and [2]. The initial discussions of the Arm NUMA support can be found at [3]. - Background of this series: Xen memory allocation and scheduler modules are NUMA aware. But actually, on x86 has implemented the archi

xen | Successful pipeline for staging | 98758ae4

2023-11-19 Thread GitLab
Pipeline #1077843561 has passed! Project: xen ( https://gitlab.com/xen-project/xen ) Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging ) Commit: 98758ae4 ( https://gitlab.com/xen-project/xen/-/commit/98758ae48974d6d24f999e4d9324e463d326f66f ) Commit Message: xen: introduc

[xen-unstable test] 183791: trouble: broken/fail/pass

2023-11-19 Thread osstest service owner
flight 183791 xen-unstable real [real] http://logs.test-lab.xenproject.org/osstest/logs/183791/ Failures and problems with tests :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken Tests whi