* [PATCH 1/3] ARM64: ACPI: Remove the leftover acpi_init_cpus()
2024-08-08 13:15 [PATCH 0/3] cleanups for ARM64 ACPI Hanjun Guo
@ 2024-08-08 13:15 ` Hanjun Guo
2024-08-08 13:15 ` [PATCH 2/3] ARM64: ACPI: Remove the leftover arm64_acpi_numa_init() Hanjun Guo
2024-08-08 13:15 ` [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/ Hanjun Guo
2 siblings, 0 replies; 7+ messages in thread
From: Hanjun Guo @ 2024-08-08 13:15 UTC (permalink / raw)
To: Sudeep Holla, Lorenzo Pieralisi, Rafael J . Wysocki
Cc: Will Deacon, Catalin Marinas, linux-acpi, linux-arm-kernel,
Hanjun Guo
In commit 0f0783365cbb ("ARM64: kernel: unify ACPI and DT cpus
initialization"), function acpi_init_cpus() was removed but the
declaration was left in the asm/acpi.h, remove it.
Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
---
arch/arm64/include/asm/acpi.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
index a407f9cd549e..e872d28edb04 100644
--- a/arch/arm64/include/asm/acpi.h
+++ b/arch/arm64/include/asm/acpi.h
@@ -132,10 +132,8 @@ static inline int get_cpu_for_acpi_id(u32 uid)
}
static inline void arch_fix_phys_package_id(int num, u32 slot) { }
-void __init acpi_init_cpus(void);
int apei_claim_sea(struct pt_regs *regs);
#else
-static inline void acpi_init_cpus(void) { }
static inline int apei_claim_sea(struct pt_regs *regs) { return -ENOENT; }
#endif /* CONFIG_ACPI */
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/3] ARM64: ACPI: Remove the leftover arm64_acpi_numa_init()
2024-08-08 13:15 [PATCH 0/3] cleanups for ARM64 ACPI Hanjun Guo
2024-08-08 13:15 ` [PATCH 1/3] ARM64: ACPI: Remove the leftover acpi_init_cpus() Hanjun Guo
@ 2024-08-08 13:15 ` Hanjun Guo
2024-08-08 13:15 ` [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/ Hanjun Guo
2 siblings, 0 replies; 7+ messages in thread
From: Hanjun Guo @ 2024-08-08 13:15 UTC (permalink / raw)
To: Sudeep Holla, Lorenzo Pieralisi, Rafael J . Wysocki
Cc: Will Deacon, Catalin Marinas, linux-acpi, linux-arm-kernel,
Hanjun Guo
In commit eb75541f8b45 ("arm64, numa: Change the numa init functions
name to be generic"), arm64_acpi_numa_init() was renamed to
arch_acpi_numa_init() and be static, so the leftover
arm64_acpi_numa_init() in head file should be removed.
Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
---
arch/arm64/include/asm/acpi.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
index e872d28edb04..5e25110ad1b7 100644
--- a/arch/arm64/include/asm/acpi.h
+++ b/arch/arm64/include/asm/acpi.h
@@ -175,11 +175,9 @@ static inline pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr)
#endif /* CONFIG_ACPI_APEI */
#ifdef CONFIG_ACPI_NUMA
-int arm64_acpi_numa_init(void);
int acpi_numa_get_nid(unsigned int cpu);
void acpi_map_cpus_to_nodes(void);
#else
-static inline int arm64_acpi_numa_init(void) { return -ENOSYS; }
static inline int acpi_numa_get_nid(unsigned int cpu) { return NUMA_NO_NODE; }
static inline void acpi_map_cpus_to_nodes(void) { }
#endif /* CONFIG_ACPI_NUMA */
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/
2024-08-08 13:15 [PATCH 0/3] cleanups for ARM64 ACPI Hanjun Guo
2024-08-08 13:15 ` [PATCH 1/3] ARM64: ACPI: Remove the leftover acpi_init_cpus() Hanjun Guo
2024-08-08 13:15 ` [PATCH 2/3] ARM64: ACPI: Remove the leftover arm64_acpi_numa_init() Hanjun Guo
@ 2024-08-08 13:15 ` Hanjun Guo
2024-08-08 23:49 ` kernel test robot
2024-08-09 7:21 ` Sudeep Holla
2 siblings, 2 replies; 7+ messages in thread
From: Hanjun Guo @ 2024-08-08 13:15 UTC (permalink / raw)
To: Sudeep Holla, Lorenzo Pieralisi, Rafael J . Wysocki
Cc: Will Deacon, Catalin Marinas, linux-acpi, linux-arm-kernel,
Hanjun Guo
The ARM64 ACPI NUMA code can be moved out of arm64 arch code
as it just related to ACPI NUMA table parsing, mappings for
ACPI NUMA and cpu, move the ACPI NUMA code to drivers/acpi/arm64/.
Since arm64 selects ACPI_NUMA by default, so just move the function
definitions under CONFIG_ARM64 in linux/acpi.h.
Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
---
arch/arm64/include/asm/acpi.h | 8 --------
arch/arm64/kernel/Makefile | 1 -
drivers/acpi/arm64/Makefile | 1 +
{arch/arm64/kernel => drivers/acpi/arm64}/acpi_numa.c | 0
include/linux/acpi.h | 4 ++++
5 files changed, 5 insertions(+), 9 deletions(-)
rename {arch/arm64/kernel => drivers/acpi/arm64}/acpi_numa.c (100%)
diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
index 5e25110ad1b7..572355783971 100644
--- a/arch/arm64/include/asm/acpi.h
+++ b/arch/arm64/include/asm/acpi.h
@@ -174,14 +174,6 @@ static inline pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr)
}
#endif /* CONFIG_ACPI_APEI */
-#ifdef CONFIG_ACPI_NUMA
-int acpi_numa_get_nid(unsigned int cpu);
-void acpi_map_cpus_to_nodes(void);
-#else
-static inline int acpi_numa_get_nid(unsigned int cpu) { return NUMA_NO_NODE; }
-static inline void acpi_map_cpus_to_nodes(void) { }
-#endif /* CONFIG_ACPI_NUMA */
-
#define ACPI_TABLE_UPGRADE_MAX_PHYS MEMBLOCK_ALLOC_ACCESSIBLE
#endif /*_ASM_ACPI_H*/
diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
index 2b112f3b7510..c7d09c6348a4 100644
--- a/arch/arm64/kernel/Makefile
+++ b/arch/arm64/kernel/Makefile
@@ -52,7 +52,6 @@ obj-$(CONFIG_EFI) += efi.o efi-rt-wrapper.o
obj-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_ARMV8_DEPRECATED) += armv8_deprecated.o
obj-$(CONFIG_ACPI) += acpi.o
-obj-$(CONFIG_ACPI_NUMA) += acpi_numa.o
obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o
obj-$(CONFIG_PARAVIRT) += paravirt.o
obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o
diff --git a/drivers/acpi/arm64/Makefile b/drivers/acpi/arm64/Makefile
index 05ecde9eaabe..9aeed2e4ebde 100644
--- a/drivers/acpi/arm64/Makefile
+++ b/drivers/acpi/arm64/Makefile
@@ -4,6 +4,7 @@ obj-$(CONFIG_ACPI_APMT) += apmt.o
obj-$(CONFIG_ACPI_FFH) += ffh.o
obj-$(CONFIG_ACPI_GTDT) += gtdt.o
obj-$(CONFIG_ACPI_IORT) += iort.o
+obj-$(CONFIG_ACPI_NUMA) += acpi_numa.o
obj-$(CONFIG_ACPI_PROCESSOR_IDLE) += cpuidle.o
obj-$(CONFIG_ARM_AMBA) += amba.o
obj-y += dma.o init.o
diff --git a/arch/arm64/kernel/acpi_numa.c b/drivers/acpi/arm64/acpi_numa.c
similarity index 100%
rename from arch/arm64/kernel/acpi_numa.c
rename to drivers/acpi/arm64/acpi_numa.c
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 0687a442fec7..7de4e9dac0c7 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -253,8 +253,12 @@ static inline void acpi_arch_dma_setup(struct device *dev) { }
#endif
#ifdef CONFIG_ARM64
+int acpi_numa_get_nid(unsigned int cpu);
+void acpi_map_cpus_to_nodes(void);
void acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa);
#else
+static inline int acpi_numa_get_nid(unsigned int cpu) { return NUMA_NO_NODE; }
+static inline void acpi_map_cpus_to_nodes(void) { }
static inline void
acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa) { }
#endif
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/
2024-08-08 13:15 ` [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/ Hanjun Guo
@ 2024-08-08 23:49 ` kernel test robot
2024-08-09 7:21 ` Sudeep Holla
1 sibling, 0 replies; 7+ messages in thread
From: kernel test robot @ 2024-08-08 23:49 UTC (permalink / raw)
To: Hanjun Guo, Sudeep Holla, Lorenzo Pieralisi, Rafael J . Wysocki
Cc: llvm, oe-kbuild-all, Will Deacon, Catalin Marinas, linux-acpi,
linux-arm-kernel, Hanjun Guo
Hi Hanjun,
kernel test robot noticed the following build errors:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on rafael-pm/linux-next rafael-pm/bleeding-edge linus/master v6.11-rc2 next-20240808]
[cannot apply to arm-perf/for-next/perf]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Hanjun-Guo/ARM64-ACPI-Remove-the-leftover-acpi_init_cpus/20240808-212154
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
patch link: https://lore.kernel.org/r/20240808131522.1032431-4-guohanjun%40huawei.com
patch subject: [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/
config: riscv-defconfig (https://download.01.org/0day-ci/archive/20240809/202408090735.Oa78ciK8-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 4527fba9ad6bc682eceda603150bfaec65ec6916)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240809/202408090735.Oa78ciK8-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408090735.Oa78ciK8-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/nvme/host/pci.c:7:
>> include/linux/acpi.h:260:19: error: redefinition of 'acpi_numa_get_nid'
260 | static inline int acpi_numa_get_nid(unsigned int cpu) { return NUMA_NO_NODE; }
| ^
arch/riscv/include/asm/acpi.h:68:19: note: previous definition is here
68 | static inline int acpi_numa_get_nid(unsigned int cpu) { return NUMA_NO_NODE; }
| ^
In file included from drivers/nvme/host/pci.c:9:
In file included from include/linux/blkdev.h:9:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/riscv/include/asm/cacheflush.h:9:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
514 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
drivers/nvme/host/pci.c:2982:41: warning: shift count >= width of type [-Wshift-count-overflow]
2982 | dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
| ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:77:54: note: expanded from macro 'DMA_BIT_MASK'
77 | #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
| ^ ~~~
2 warnings and 1 error generated.
vim +/acpi_numa_get_nid +260 include/linux/acpi.h
254
255 #ifdef CONFIG_ARM64
256 int acpi_numa_get_nid(unsigned int cpu);
257 void acpi_map_cpus_to_nodes(void);
258 void acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa);
259 #else
> 260 static inline int acpi_numa_get_nid(unsigned int cpu) { return NUMA_NO_NODE; }
261 static inline void acpi_map_cpus_to_nodes(void) { }
262 static inline void
263 acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa) { }
264 #endif
265
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/
2024-08-08 13:15 ` [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/ Hanjun Guo
2024-08-08 23:49 ` kernel test robot
@ 2024-08-09 7:21 ` Sudeep Holla
2024-08-09 10:45 ` Hanjun Guo
1 sibling, 1 reply; 7+ messages in thread
From: Sudeep Holla @ 2024-08-09 7:21 UTC (permalink / raw)
To: Hanjun Guo
Cc: Lorenzo Pieralisi, Sudeep Holla, Rafael J . Wysocki, Will Deacon,
Catalin Marinas, linux-acpi, linux-arm-kernel
On Thu, Aug 08, 2024 at 09:15:22PM +0800, Hanjun Guo wrote:
> The ARM64 ACPI NUMA code can be moved out of arm64 arch code
> as it just related to ACPI NUMA table parsing, mappings for
> ACPI NUMA and cpu, move the ACPI NUMA code to drivers/acpi/arm64/.
>
> Since arm64 selects ACPI_NUMA by default, so just move the function
> definitions under CONFIG_ARM64 in linux/acpi.h.
I was about to ask to take a look at riscv implementation to avoid any
issues with this move, kbuild has already reported a build failure.
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] ARM64: ACPI: Move the NUMA code to drivers/acpi/arm64/
2024-08-09 7:21 ` Sudeep Holla
@ 2024-08-09 10:45 ` Hanjun Guo
0 siblings, 0 replies; 7+ messages in thread
From: Hanjun Guo @ 2024-08-09 10:45 UTC (permalink / raw)
To: Sudeep Holla
Cc: Lorenzo Pieralisi, Rafael J . Wysocki, Will Deacon,
Catalin Marinas, linux-acpi, linux-arm-kernel
On 2024/8/9 15:21, Sudeep Holla wrote:
> On Thu, Aug 08, 2024 at 09:15:22PM +0800, Hanjun Guo wrote:
>> The ARM64 ACPI NUMA code can be moved out of arm64 arch code
>> as it just related to ACPI NUMA table parsing, mappings for
>> ACPI NUMA and cpu, move the ACPI NUMA code to drivers/acpi/arm64/.
>>
>> Since arm64 selects ACPI_NUMA by default, so just move the function
>> definitions under CONFIG_ARM64 in linux/acpi.h.
>
> I was about to ask to take a look at riscv implementation to avoid any
> issues with this move, kbuild has already reported a build failure.
sharp-sighted :)
Will take care of it next version.
Thanks
Hanjun
^ permalink raw reply [flat|nested] 7+ messages in thread