On Thu 29-08-24 22:30:09, Zhongkun He wrote: > On Thu, Aug 29, 2024 at 9:36 PM Michal Hocko <mhocko@xxxxxxxx> wrote: [...] > > Seeing this my main question is whether we should focus on swappiness > > behavior more than adding a very strange and very targetted reclaim > > mode. After all we have a mapped memory and executables protection in > > place. So in the end this is more about balance between anon vs. file > > LRUs. > > > > I have a question about the swappiness, if set the swappiness=0, we can only > reclaim the file pages. but we do not have an option to disable the reclaim from > file pages because there are faster storages for the swap without IO, like zram > and zswap. I wonder if we can give it a try in this direction. I do not think we should give any guarantee that 200 will only reclaim anon pages. But having that heavily anon oriented makes sense and I thought this was an existing semantic. [...] > > > The delay of the task becomes more serious because reading data will > > > be slower. Hot pages will thrash repeatedly between the memory and > > > the disk. > > > > Doesn't refault stats and IO cost aspect of the reclaim when balancing > > LRUs dealing with this situation already? Why it doesn't work in your > > case? Have you tried to investigate that? > > OK, I'll try to reproduce the problem again. but IIUC, we could not reclaim > pages from one side. Please see this 'commit d483a5dd009 ("mm: > vmscan: limit the range of LRU type balancing")' [1] > > Unless this condition is met: > sc->file_is_tiny = > file + free <= total_high_wmark && > !(sc->may_deactivate & DEACTIVATE_ANON) && > anon >> sc->priority; There have been some changes in this area where swappiness was treated differently so it would make sense to investigate with the current mm tree. > [1]: https://lore.kernel.org/all/20200520232525.798933-15-hannes@xxxxxxxxxxx/T/#u > > > -- > > Michal Hocko > > SUSE Labs -- Michal Hocko SUSE Labs