Re: [PATCH v2 10/10] mm: remove SWAP_[SUCCESS|AGAIN|FAIL]

From: Sergey Senozhatsky
Date: Thu Mar 16 2017 - 01:58:33 EST


On (03/16/17 14:51), Minchan Kim wrote:
[..]
> > > @@ -1414,7 +1414,7 @@ static bool try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
> > > */
> > > if (unlikely(PageSwapBacked(page) != PageSwapCache(page))) {
> > > WARN_ON_ONCE(1);
> > > - ret = SWAP_FAIL;
> > > + ret = false;
> > > page_vma_mapped_walk_done(&pvmw);
> > > break;
> > > }
> >
> >
> > one thing to notice here is that 'ret = false' and 'ret = SWAP_FAIL'
> > are not the same and must produce different results. `ret' is bool
> > and SWAP_FAIL was 2. it's return 1 vs return 0, isn't it? so was
> > there a bug before?
>
> No, it was not a bug. Just my patchset changed return value meaning.
> Look at this.
> https://marc.info/?l=linux-mm&m=148955552314806&w=2
>
> So, false means SWAP_FAIL(ie., stop rmap scanning and bail out) now.

ah, indeed. sorry, didn't notice that.

thanks.

-ss