On Tue, Nov 28, 2023 at 03:05:29PM -0800, Yosry Ahmed wrote: > On Tue, Nov 28, 2023 at 2:45 PM Minchan Kim <minchan@xxxxxxxxxx> wrote: > > > > On Tue, Nov 28, 2023 at 11:16:04AM +0100, Michal Hocko wrote: > > > On Tue 28-11-23 09:31:06, Huang, Ying wrote: > > > > Michal Hocko <mhocko@xxxxxxxx> writes: > > > [...] > > > > > Right. On the other hand we could be more aggressive when dropping the > > > > > swapcache. Is there any actual reason why we cannot try to folio_free_swap > > > > > even when mem_cgroup_swap_full == F? > > > > > > > > If there are plenty free space in swap device, why not take advantage of > > > > it? > > > > > > Maybe a stupid question but what is the advantage of keeping around in > > > the swap cache? > > > > If the page is shared, we avoids addtional IO to bring them back so > > swap cache. > > I think this case is actually necessary for correctness, not just to > avoid additional IO. Otherwise subsequent swapins will create new > copies of the page, right? I think if the page was shared by MAP_SHARED, then, yes. I think if the page was shared by MAP_PRIVATE but CoW(e.g., fork), then, no.