On 2022/9/23 15:45, Michal Hocko wrote:
Yeah, that is possible and something to consider. One way to go about that is to make the selection from all cpusets with an overlap with the requested nodemask (probably with a preference to more constrained ones). In any case let's keep in mind that this is a mere heuristic. We just need to kill some process, it is not really feasible to aim for the best selection. We should just try to reduce the harm. Our exisiting cpuset based OOM is effectivelly random without any clear relation to cpusets so I would be open to experimenting in this area.
In addition to cpuset, users can also bind numa through mbind(). So I want to manage numa binding applications that are not managed by cpuset. Do you have any ideas?