Re: [PATCH] mm/zswap: Improve with alloc_workqueue() call

From: Nhat Pham
Date: Mon Dec 11 2023 - 09:24:54 EST


On Sun, Dec 10, 2023 at 9:31 PM Ronald Monthero
<debug.penguin32@xxxxxxxxx> wrote:
>
> Use alloc_workqueue() to create and set finer
> work item attributes instead of create_workqueue()
> which is to be deprecated.
>
> Signed-off-by: Ronald Monthero <debug.penguin32@xxxxxxxxx>
> ---
> mm/zswap.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/mm/zswap.c b/mm/zswap.c
> index 74411dfdad92..64dbe3e944a2 100644
> --- a/mm/zswap.c
> +++ b/mm/zswap.c
> @@ -1620,7 +1620,8 @@ static int zswap_setup(void)
> zswap_enabled = false;
> }
>
> - shrink_wq = create_workqueue("zswap-shrink");
> + shrink_wq = alloc_workqueue("zswap-shrink",
> + WQ_UNBOUND|WQ_MEM_RECLAIM, 0);

Hmmm this changes the current behavior a bit right? create_workqueue()
is currently defined as:

alloc_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, 1, (name))

I think this should be noted in the changelog, at the very least, even
if it is fine. We should be as explicit as possible about behavior
changes.



> if (!shrink_wq)
> goto fallback_fail;
>
> --
> 2.34.1
>
>