On Tue 27-09-22 11:20:54, Abel Wu wrote: [...] > > > Btw.in order to add per-thread-group mempolicy, is it possible to add > > > mempolicy in mm_struct? > > > > I dunno. This would make the mempolicy interface even more confusing. > > Per mm behavior makes a lot of sense but we already do have per-thread > > semantic so I would stick to it rather than introducing a new semantic. > > > > Why is this really important? > > We want soft control on memory footprint of background jobs by applying > NUMA preferences when necessary, so the impact on different NUMA nodes > can be managed to some extent. These NUMA preferences are given by the > control panel, and it might not be suitable to overwrite the tasks with > specific memory policies already (or vice versa). Maybe the answer is somehow implicit but I do not really see any argument for the per thread-group semantic here. In other words why a new interface has to cover more than the local [sg]et_mempolicy? I can see convenience as one potential argument. Also if there is a requirement to change the policy in atomic way then this would require a single syscall. -- Michal Hocko SUSE Labs