Hi Pavan, On 6/28/2023 4:19 PM, Charan Teja Kalla wrote: > I think marking the folio as a workingset when it sits on the active is > not a correct thing. For the same example you mentioned, a simple CMA > allocation will be dropping the clean pages instead of migration. PSI > accounting on refault of those pages don't reveal anything to the user. > > Where as in the madvise() cases, this PSI tells the user about the type > of pages that he is working on.[1] > > BTW, damon_pa_pageout() seems a valid case above. let me fix it in the > next patch. I did look a little bit more at the damon code and IIUC it: DAMON monitors the ranges it is asked to operate as regions and operate(reclaim) on the region that has less number of accesses, IOW, damon won't do pageout operation on a folio if it is really under use, CMIW. This is unlike the case with the madvise() operation where Workingset helps in accounting PSI that helps user the type of folios he is operating on. Assume that damon is operating on wrong set of regions and Workingset helps in giving a PSI. This got no help to user and just telling the internals of damon. No? Having said that, theoretically it seems correct to me to set workingset on folios as they leave the active list, but I don't have any strong reason to say what happens if we won't. Moreover, this patch is mostly talks about the madvise() operated folios not inline with the usual reclaim. May be a separate change can be raised for damon() operated folios once we agree upon the importance of Workingset to these folios. WDYT? Thanks,