On Fri, May 12, 2023 at 06:45:13PM +1000, Alistair Popple wrote: > However review comments suggested it needed to be added as part of > memcg. As soon as we do that we have to address how we deal with shared > memory. If we stick with the original RLIMIT proposal this discussion > goes away, but based on feedback I think I need to at least investigate > integrating it into memcg to get anything merged. Personally I don't see how we can effectively solve the per-page problem without also tracking all the owning memcgs for every page. This means giving each struct page an array of memcgs I suspect this will be too expensive to be realistically implementable. If it is done then we may not even need a pin controller on its own as the main memcg should capture most of it. (althought it doesn't distinguish between movable/swappable and non-swappable memory) But this is all being done for the libvirt people, so it would be good to involve them Jason