* Nathan Lynch <nath...@linux.ibm.com> [2021-04-07 14:46:24]: > Srikar Dronamraju <sri...@linux.vnet.ibm.com> writes: > > > * Nathan Lynch <nath...@linux.ibm.com> [2021-04-07 07:19:10]: > > > >> Sorry for the delay in following up here. > >> > > > > No issues. > > > >> >> So I'd suggest that pseries_add_processor() be made to update > >> >> these things when the CPUs are marked present, before onlining them. > >> > > >> > In pseries_add_processor, we are only marking the cpu as present. i.e > >> > I believe numa_setup_cpu() would not have been called. So we may not > >> > have a > >> > way to associate the CPU to the node. Otherwise we will have to call > >> > numa_setup_cpu() or the hcall_vphn. > >> > > >> > We could try calling numa_setup_cpu() immediately after we set the > >> > CPU to be present, but that would be one more extra hcall + I dont know > >> > if > >> > there are any more steps needed before CPU being made present and > >> > associating the CPU to the node. > >> > >> An additional hcall in this path doesn't seem too expensive. > >> > >> > Are we sure the node is already online? > >> > >> I see that dlpar_online_cpu() calls find_and_online_cpu_nid(), so yes I > >> think that's covered. > > > > Okay, > > > > Can we just call set_cpu_numa_node() at the end of map_cpu_to_node(). > > The advantage would be the update to numa_cpu_lookup_table and cpu_to_node > > would happen at the same time and would be in sync. > > I don't know. I guess this question just makes me wonder whether powerpc > needs to have the additional lookup table. How is it different from the > generic per_cpu numa_node?
lookup table is for early cpu to node i.e when per_cpu variables may not be available. This would mean that calling set_numa_node/set_cpu_numa_node from map_cpu_to_node() may not always be an option, since map_cpu_to_node() does end up getting called very early in the system. -- Thanks and Regards Srikar Dronamraju