Re: [PATCH v6 6/6] zsmalloc: Implement writeback mechanism for zsmalloc

From: Sergey Senozhatsky
Date: Tue Nov 22 2022 - 01:35:28 EST


On (22/11/22 01:09), Johannes Weiner wrote:
> On Tue, Nov 22, 2022 at 12:42:20PM +0900, Sergey Senozhatsky wrote:
> > On (22/11/21 22:12), Johannes Weiner wrote:
> > > On Tue, Nov 22, 2022 at 11:15:20AM +0900, Sergey Senozhatsky wrote:
> > > > On (22/11/18 16:15), Nhat Pham wrote:

[..]

> > What I meant was: if zs_reclaim_page() makes only partial progress
> > with the current LRU tail zspage and returns -EAGAIN, then we just
> > don't increment `total` and continue looping in zs_zpool_shrink().
>
> Hm, but it breaks on -EAGAIN, it doesn't continue.

Yes. "What if it would continue". Would it make sense to not
break on EAGAIN?

while (total < pages) {
ret = zs_reclaim_page(pool);
if (ret == -EAGAIN)
continue;
if (ret < 0)
break;
total++;
}

Then we don't need retry loop in zs_reclaim_page().