Re: [LSF/MM/BPF TOPIC] userspace control of memory management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux