[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKEwX=PpG6F9tWjDhEq5PuLecuWx=PLuFzyhxLA3EfwuFfc0kA@mail.gmail.com>
Date: Mon, 5 Jun 2023 16:21:55 -0700
From: Nhat Pham <nphamcs@...il.com>
To: Johannes Weiner <hannes@...xchg.org>
Cc: Domenico Cerasuolo <cerasuolodomenico@...il.com>,
vitaly.wool@...sulko.com, minchan@...nel.org,
senozhatsky@...omium.org, yosryahmed@...gle.com,
linux-mm@...ck.org, ddstreet@...e.org, sjenning@...hat.com,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
kernel-team@...a.com
Subject: Re: [RFC PATCH 4/7] mm: zswap: remove page reclaim logic from zsmalloc
On Mon, Jun 5, 2023 at 8:37 AM Johannes Weiner <hannes@...xchg.org> wrote:
>
> On Mon, Jun 05, 2023 at 10:54:16AM +0200, Domenico Cerasuolo wrote:
> > @@ -884,14 +842,6 @@ static inline bool obj_allocated(struct page *page, void *obj, unsigned long *ph
> > return obj_tagged(page, obj, phandle, OBJ_ALLOCATED_TAG);
> > }
> >
> > -#ifdef CONFIG_ZPOOL
> > -static bool obj_stores_deferred_handle(struct page *page, void *obj,
> > - unsigned long *phandle)
> > -{
> > - return obj_tagged(page, obj, phandle, OBJ_DEFERRED_HANDLE_TAG);
> > -}
> > -#endif
>
> You can actually remove even more here.
>
> The entire concept of deferred_handle is about serializing free with
> reclaim. It can all go: OBJ_DEFERRED_HANDLE_TAG, the member in struct
> link_free, this function here, find_deferred_handle_obj() (declaration
> and implementation), free_handles(), and the deferred handle bits in
> obj_free() including the handle parameter itself.
For more context on this:
https://lore.kernel.org/all/20230110231701.326724-1-nphamcs@gmail.com/T/#u
Powered by blists - more mailing lists