On 28.08.2021 05:45, Wei Chen wrote: >> From: Xen-devel <xen-devel-boun...@lists.xenproject.org> On Behalf Of Wei >> Chen >> Sent: 2021年8月28日 11:09 >> >>> From: Julien Grall <jul...@xen.org> >>> Sent: 2021年8月27日 22:30 >>> >>>> --- a/xen/arch/arm/numa.c >>>> +++ b/xen/arch/arm/numa.c >>>> @@ -140,3 +140,16 @@ int __init arch_meminfo_get_ram_bank_range(int >> bank, >>>> >>>> return 0; >>>> } >>>> + >>>> +void __init arch_numa_init_failed_fallback(void) >>>> +{ >>>> + int i, j; >>>> + >>>> + /* Reset all node distance to remote_distance */ >>>> + for ( i = 0; i < MAX_NUMNODES; i++ ) { >>>> + for ( j = 0; j < MAX_NUMNODES; j++ ) { >>>> + numa_set_distance(i, j, >>>> + (i == j) ? NUMA_LOCAL_DISTANCE : >> NUMA_REMOTE_DISTANCE); >>>> + } >>>> + } >>>> +} >>> >>> ... this implementation looks fairly generic. So can you explain why we >>> need it on Arm but not x86? >>> >> >> This implementation is DT only, for x86, it's using acpi_slit. >> For now, I am not quit sure ACPI need to do fallback or not. >> Or say in another way, I don't know how to implement the fallback >> for ACPI. I planned to solve it in Arm ACPI version NUMA, so I left >> an empty helper for x86. >> >> @Jan Beulich Could you give me some suggestion about x86 fallback? >> >> > > I have a quick look into Linux. When Arch do numa init failed, > the numa_free_distance will be invoked to revert numa_distance.
Does this matter in the first place? Don't we fall back to single node mode, in which case the sole entry of the distance table will say "local" anyway? Jan