On Fri, Jun 09, 2023 at 04:13:14PM -0700, Suren Baghdasaryan wrote: > On Fri, Jun 9, 2023 at 5:42 AM Charan Teja Kalla > <quic_charante@xxxxxxxxxxx> wrote: > > > > Thanks Suren & Johannes, > > > > On 6/7/2023 1:18 AM, Suren Baghdasaryan wrote: > > > Hi Folks. Sorry for being late to the party. > > > Yeah, userspace does not have a crystal ball to predict future user > > > behavior, so there will always be pathological cases when usual > > > assumptions and resulting madvise() would make things worse. > > > > > > I think this discussion can be split into several questions/issues: > > > 1. Inconsistency in how madvise(MADV_PAGEOUT) would affect PSI > > > calculation when the page is refaulted, based on the path it took > > > before being evicted by madvise(). In your initial description case > > > (a) is inconsistent with (b) and (c) and it's probably worth fixing. > > > IMHO (a) should be made consistent with others, not the other way > > > around. My reasoning is that page was expelled from the active list, > > > so it was part of the active workingset. > > > > > That means we should be setting Workingset on the page while it is on > > the active list and when it is being pageout through madvising. Right? I > > see, this makes it consistent. > > This was my opinion but others might think otherwise, like I found out > in some recent conversations. So, it would be great to get some more > feedback before making the change. I also agree with the consistency fix: it should set Workingset when madvise zaps pages from the active list.