On Wed, Feb 19, 2020 at 11:52 PM Michal Hocko <mhocko@xxxxxxxxxx> wrote: > > On Wed 19-02-20 12:08:10, Andrew Morton wrote: > > On Wed, 19 Feb 2020 06:44:22 +0800 Wei Yang <richardw.yang@xxxxxxxxxxxxxxx> wrote: > > > > > kswapd kernel thread starts either with a CPU affinity set to the full > > > cpu mask of its target node or without any affinity at all if the node > > > is CPUless. There is a cpu hotplug callback (kswapd_cpu_online) that > > > implements an elaborate way to update this mask when a cpu is onlined. > > > > > > It is not really clear whether there is any actual benefit from this > > > scheme. Completely CPU-less NUMA nodes rarely gain a new CPU during > > > runtime. > > > > This is the case across all platforms, all architectures, all users for > > the next N years? I'm surprised that we know this with sufficient > > confidence. Can you explain how you came to make this assertion? > > CPUless NUMA nodes are quite rare - mostly ppc with crippled LPARs. > I am not aware those would dynamically get CPUs for those nodes later in > the runtime. Maybe they do but we would like to learn about that. A > missing cpu mask is not going cause any fatal problems anyway. Persistent memory nodes are CPUless nodes. But, I don't think they would get any CPU online later in the runtime. > > As the changelog states the callback can be reintroduced with a sign of > testing and usecase description. I prefer we drop this code in the mean > time as the benefit is not really clear or testable. > > > > Drop the code for that reason. If there is a real usecase then > > > we can resurrect and simplify the code. > > -- > Michal Hocko > SUSE Labs >