[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node structure
On 19.01.2022 07:33, Wei Chen wrote: >> From: Jan Beulich <jbeulich@xxxxxxxx> >> Sent: 2022年1月18日 23:23 >> >> On 23.09.2021 14:02, Wei Chen wrote: >>> @@ -249,24 +250,26 @@ static int __init numa_emulation(u64 start_pfn, >> u64 end_pfn) >>> void __init numa_initmem_init(unsigned long start_pfn, unsigned long >> end_pfn) >>> { >>> int i; >>> + paddr_t start, end; >>> >>> #ifdef CONFIG_NUMA_EMU >>> if ( numa_fake && !numa_emulation(start_pfn, end_pfn) ) >>> return; >>> #endif >>> >>> + start = pfn_to_paddr(start_pfn); >>> + end = pfn_to_paddr(end_pfn); >> >> Nit: Would be slightly neater if these were the initializers of the >> variables. > > But if this function returns in numa_fake && !numa_emulation, > will the two pfn_to_paddr operations be waste? And what harm would that do? >>> @@ -441,7 +441,7 @@ void __init srat_parse_regions(u64 addr) >>> acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) >>> return; >>> >>> - srat_region_mask = pdx_init_mask(addr); >>> + srat_region_mask = pdx_init_mask((u64)addr); >> >> I don't see the need for a cast here. >> > > current addr type has been changed to paddr_t, but pdx_init_mask > accept parameter type is u64. I know paddr_t is a typedef of > u64 on Arm64/32, or unsinged long on x86. In current stage, > their machine byte-lengths are the same. But in case of future > changes I think an explicit case here maybe better? It may only ever be an up-cast, yet the compiler would do a widening conversion (according to the usual type conversion rules) for us anyway no matter whether there's a cast. Down-casts (in the general compiler case, i.e. considering a wider set than just gcc and clang) sometimes need making explicit to silence compiler warnings about truncation, but I've not observed any compiler warning when widening values. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |