Re: [PATCH] mm: Free unused swap cache page in write protection fault handler

From: Matthew Wilcox
Date: Tue Jan 12 2021 - 22:13:00 EST


On Wed, Jan 13, 2021 at 11:08:56AM +0800, huang ying wrote:
> On Wed, Jan 13, 2021 at 10:47 AM Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Jan 12, 2021 at 6:43 PM Huang Ying <ying.huang@xxxxxxxxx> wrote:
> > >
> > > So in this patch, at the end of wp_page_copy(), the old unused swap
> > > cache page will be tried to be freed.
> >
> > I'd much rather free it later when needed, rather than when you're in
> > a COW section.
>
> Unused swap cache isn't unused file cache. Nobody can reuse them
> directly before freeing them firstly. It will make COW a little
> faster via keeping them. But I think the overhead to free them isn't
> high. While keeping them in system will confuse users (users will
> expect file cache to use free memory, but not expect unused swap cache
> to use much free memory), make the swap space more fragmented, and add
> system overall overhead (scanning LRU list, etc.).

Couldn't we just move it to the tail of the LRU list so it's reclaimed
first? Or is locking going to be a problem here?