On Thu 27-06-19 07:36:50, Dave Hansen wrote: [...] > For MADV_COLD, if we defined it like this, I think we could use it for > both purposes (demotion and LRU movement): > > Pages in the specified regions will be treated as less-recently- > accessed compared to pages in the system with similar access > frequencies. In contrast to MADV_DONTNEED, the contents of the you meant s@MADV_DONTNEED@MADV_FREE@ I suppose > region are preserved. > > It would be nice not to talk about reclaim at all since we're not > promising reclaim per se. Well, I guess this is just an implementation detail. MADV_FREE is really only about aging. It is up to the kernel what to do during the reclaim and the advice doesn't and shouldn't make any difference here. Now MADV_PAGEOUT would be more tricky in that direction because it defines an immediate action to page out the range. I do understand your argument about NUMA unaware applications which might want to get something like MADV_DEMOTE which would move a page to a secondary memory (whatever that is) but I think this is asking for its own madvise. MADV_PAGEOUT has a quite simple semnatic - move to the backing storage - and I would rather not make it more complex. -- Michal Hocko SUSE Labs