On Tue, 28 Feb 2023, Frank van der Linden wrote: > I propose this discussion topic for LSF/MM/BPF. > > In a world where memory topologies are becoming more complicated, is > it still possible to have an approach where the kernel deals with > memory management to everyone's satisfaction? > > The answer seemingly has been "not quite", since madvise and mempolicy > exist. With things like cxl.mem coming into existence, a heterogeneous > memory setup will become more common. > > The number of madvise options keeps growing. There is now a > process_madvise, and there are proposed extensions for the mempolicy > systemcalls, allowing one process to control the policy of another, as > well. There are exported cgroup interfaces to control reclaim, and > discussions have taken place on explicit control reclaim-as-demotion > to other nodes. > > Is this the right approach? If so, would it be a good idea to > optionally provide BPF hooks to control certain behavior, and let > userspace direct things even more? Is that even possible, > performance-wise? Would it make sense to be able to influence the > MGLRU generation process in a more direct way if needed? > > I think a discussion about these points would be interesting. Or, I > should say, further discussion. > > What do you think? > I think this is definitely a topic worth discussing and would like to participate in it. Cc'ing others that I think would likewise be interested. I think the APIs that you mention that already provide placement preferences to varying degrees of strictness, like mempolicies and madvise, won't be going away but what can be *supplemented* by other mechanisms (perhaps with BPF) is an interesting topic especially for users who need finer-grained control for optimal behavior. It's a topic that is deserving of broad discussion.