On Mon, May 16, 2022 at 03:29:42PM -0700, Yosry Ahmed wrote: > The discussions on the patch series [1] to add memory.reclaim has > shown that it is desirable to add an argument to control the type of > memory being reclaimed by invoked proactive reclaim using > memory.reclaim. > > I am proposing adding a swappiness optional argument to the interface. > If set, it overwrites vm.swappiness and per-memcg swappiness. This > provides a way to enforce user policy on a stateless per-reclaim > basis. We can make policy decisions to perform reclaim differently for > tasks of different app classes based on their individual QoS needs. It > also helps for use cases when particularly page cache is high and we > want to mainly hit that without swapping out. > > The interface would be something like this (utilizing the nested-keyed > interface we documented earlier): > > $ echo "200M swappiness=30" > memory.reclaim What are the anticipated use cases except swappiness == 0 and swappiness == system_default? IMO it's better to allow specifying the type of memory to reclaim, e.g. type="file"/"anon"/"slab", it's a way more clear what to expect. E.g. what $ echo "200M swappiness=1" > memory.reclaim means if there is only 10M of pagecache? How much of anon memory will be reclaimed? Thanks!