From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F86EC4332F for ; Wed, 13 Dec 2023 13:20:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1EDA96B011A; Wed, 13 Dec 2023 08:20:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 19D6C6B04B6; Wed, 13 Dec 2023 08:20:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 065A76B04B7; Wed, 13 Dec 2023 08:20:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id EB96B6B011A for ; Wed, 13 Dec 2023 08:20:45 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BF2B612019E for ; Wed, 13 Dec 2023 13:20:45 +0000 (UTC) X-FDA: 81561854850.13.FE79BF6 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by imf23.hostedemail.com (Postfix) with ESMTP id D421A140024 for ; Wed, 13 Dec 2023 13:20:43 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Aaf5Qc1M; spf=pass (imf23.hostedemail.com: domain of debug.penguin32@gmail.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=debug.penguin32@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702473643; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7hnDLGznNjf0HtUhZB6DiqmuEaPkDCvG/kcvfPciErs=; b=kkGGYH0ewcUurrXe2rifyP/DEc8E3Pi4vM0k9w9BLo8B7Pu0qNrJOOu/IBEbDQ4qugtQFU 4joYvOri0YLhdACD8p54UfC8gOrbqsrlbp0evsCSklwEB8N41a/4ceIM0eUiK1kIcoBAv2 bIFIXsKeD/Own3vze+5Bpp26ZuTenQo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702473643; a=rsa-sha256; cv=none; b=DhtFrXVj8ZdU9RyK8WLLWr6iGXExofc9o2C3AcRPYJR1ww69nKbAh7AcoTjsjdQPi1wDnl H15/j7vyzq4FxUmUjQcPqklCYYMehEUIjx3hETLW7jxVLGBBR+rok8Dh4nyIsfFQV/7jDN J6O7MNbbnvCRG1zcap1eHQq8hj27AoI= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Aaf5Qc1M; spf=pass (imf23.hostedemail.com: domain of debug.penguin32@gmail.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=debug.penguin32@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-33642ab735dso208785f8f.0 for ; Wed, 13 Dec 2023 05:20:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702473642; x=1703078442; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7hnDLGznNjf0HtUhZB6DiqmuEaPkDCvG/kcvfPciErs=; b=Aaf5Qc1MRSI6l4kOUeXdWi1B97qRuc3EOrmJN7EC+4433UTz/08byefa1QF8FbFPEg j6vMoxfZfmoc9Uv6PgC2WbJbz1j5AKfUtGLMX332XcD0yjT7vCawDpt2df5RiUMnu9Fk UgWDEQ+k5ybpN1nWK7kapA4mKNEmm2NpeghcsMUVAsGN6/Mk7Qbg1jC/shuFRDIvKZcM mhbjTN3VNDNBiJv/0MEMmXslrTLJeVzEWYmxVpZKJIwJve/aK6lbksAs3pgLQUSHPSBq qmT4wT+NDXsytSqjzdvjt1NxmXpuHI6zQtLkFe2mJPS5dQC00z4CL4Yl6AjAmTuJgV7R tH0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702473642; x=1703078442; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7hnDLGznNjf0HtUhZB6DiqmuEaPkDCvG/kcvfPciErs=; b=djVSUPCVVRA87pwFD7+igkgvS3BqUe6rbYB9/lqYkjboVM+wbxFUm+NOOkWi8nmitR lRKmlbM7bgrhuhTy9s8u5krtZha3+5ylf5sc17a2M7er1ZFZdvtZG0HawiK6wQvDN88l y/RCDEhim995mkuyuLW9jhfpP+H6FQ9j9823lbFRW3X+CjqC6FmVeOB3d6EK02A0ssgY lb93wnGuXjOsIbbh3eOS6qGaa3xxbYZ70wqLwi6PYuL+/nfFyqq+lYWU4Jer58em3n4S ZWqb/nbFfWiVvKqT7b+kqXJHfjwPiLqZVqkTIg0W6nsFpbL/YgUOhMwV1ztYy61SZxQb x0zQ== X-Gm-Message-State: AOJu0YwIQjmn5xzGxrm1T8MwlCbu2z2UsQ/Y3MDfaoYYnlSwV6DrXlXa SOUN1pEBokeNJARuwNWNKBufuSZX4BbzznbFijw= X-Google-Smtp-Source: AGHT+IEi2FRebzf2c0UKw/ArqXVED0eN66fs7jAd0iEKyqrp0rg/xx0b0wlajsv8dow/5rUyQm6h1ihahHufDcDYLM8= X-Received: by 2002:adf:f94c:0:b0:334:bca8:4e64 with SMTP id q12-20020adff94c000000b00334bca84e64mr1484593wrr.143.1702473642020; Wed, 13 Dec 2023 05:20:42 -0800 (PST) MIME-Version: 1.0 References: <20231211052850.3513230-1-debug.penguin32@gmail.com> In-Reply-To: From: Ronald Monthero Date: Wed, 13 Dec 2023 23:20:04 +1000 Message-ID: Subject: Re: [PATCH] mm/zswap: Improve with alloc_workqueue() call To: Nhat Pham Cc: sjenning@redhat.com, akpm@linux-foundation.org, Dan Streetman , Vitaly Wool , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: eme1ckgatsfejtg4akjr7nxqqdgmjnpf X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: D421A140024 X-Rspam-User: X-HE-Tag: 1702473643-987786 X-HE-Meta: U2FsdGVkX1+F7fFoAbG9v1bS6oej+nDjN91LhoWTWu/O/MsWCL7siBf4YgCrQPWGVIuvOHRhcdxJP4qFMJ/4rj06Zw0faMYZU7l2HRd3lL7U8eFf6doz9hKiiASqfYhSn/UY73befrC+duXUs178AjsAeoITob0beyATxIgLEQfBFDBtF1PZgRnKI0yZalIu5JqsdxtMvGmSebqZ3hpJZ/NZmpPUl/gfw0N5DyqjEw+7jeH4Y/M6MJCYcE4H+/mTSVoTtrSmi81FhjAlK67UqMRc35V/pTQJTk/TMl5+lk6UwCiWFzeliPLUo/9Qk7Q5zlguMwm2SCkbmiuBktabQtwzkmrUflgSEkKYkGtMdRpEf4LNLDbKocuAIf/BAIiL31KEwm6kJ1yg06INdAYDk/VVtCLPpVdWWJTpaDxRojO/Hy71WyW/GHCRflTFzXOcDKRBXz0SZKaa5bziP84e4OGXX+UTzhmhJF6b3ha4TUw3BaLwHB18rk9XiR9pzhAE2YEsqt53KeOA1ZfYDzWzA942+IgtohU9zSCJVO0T7+L6EpmGAhaWECg8YI9XELmaFJ4r+LF6Z+lwTPvEgMCeM9xoqBOExjaPNL+L/EXLYAeuzQSfUiZus45ygMBOHS/VAdeYjov2US50PqijwOyDgdMiv6HZYoo9QaaSkXqstHbezV2qYViZgbAnGhxOIiNTWqGESr72rn0lv5xfE9BkRwhx5Eyho17vNiTKJfO545fV2nghkP1gCMe7ojiebkN/4o/i7yf7TkRH/GNBCD3Z2eIcWxHT0agKRu2aa00OBjrclRC9fLfGPthoelsRQDgf4VWj6n34BUX5KFuRJihT5JmGo2p38vLIKVgQ4rhsy0Ze5kB9PQQE3qg6IMJkLKKBb6HkLaarYFD6/q90XrAOHRvrGxNs0TP29LrfUP5HoAhRPgIqA3QWKZ0Vw68ek7AiDZ8IGeY27ND5FHAR/sD QR92iJPM 33va2NAvCmbqSSBqMStUcIUNOnF3/6nRIc5oIPzI02/ARGUDXb9yMqCLi3xTRCAYxpaEBRyMhNYO3QUx2v0qk68VX0l+4yW7IXL9bcq5bdHzoY+imh0Q+Cmac2mDE3WpzWEtTLM8mzmHatyjIoEFV1zZfEed5HJcBNRDOFMy550AhTdo+CJF1zlqOxyPqVtky0qVw0rYBOnhFGyY54LlvaafzbYybQg8YxpbleO5XbZkSOuBkyx6Qx3a0GeP3s1R8vjwzxU/gilkU0DPPTbFnq5UKm59v9QGHU6CwBxAGufp27H48FuPW9LGC914PZn/KCF/wcSqFj5m6wJtTx103+gTPYIFnZiMHdSZHprJgtxh2NuuqhIB3gzgQqgEahSeGKK60T3j7umiexXSr6Eck2iu3VkZaaKRJSu9hWklbXlCD5iz1Rc5VIa/y7/scaG1GMRSlDrvSH3kVeKGMc8bY6nJRmkwnA9///E5BlDjiKAlCKiFNRy9Fsqj2URoS7sLNRf1/w/n7u71Y2CgSHLJ8SzT3oPePrECULRXueQ1IxkhqSjAR/FrfFwRJHHCUpvppb66B X-Bogosity: Ham, tests=bogofilter, spamicity=0.000063, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Nhat, Thanks for checking. On Tue, Dec 12, 2023 at 12:16=E2=80=AFAM Nhat Pham wrot= e: > > On Sun, Dec 10, 2023 at 9:31=E2=80=AFPM Ronald Monthero > 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 > > --- > > 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 =3D false; > > } > > > > - shrink_wq =3D create_workqueue("zswap-shrink"); > > + shrink_wq =3D 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)) create_workqueue is deprecated and it's observed that most of the subsystems have changed to using alloc_workqueue. So it's a small minority of few remnant instances in the kernel and some drivers still using create_workqueue. With the create_workqueue defined as is , it hardcodes the workqueue flags to be per cpu and unbound in nature and not giving the flexibility of using any other wait queue flags/attributes. ( WQ_CPU_INTENSIVE, WQ_HIGHPRI, WQ_RESCUER, WQ_FREEZEABLE, WQ_UNBOUND) . Hence most of the subsystems and drivers use the alloc_workqueue( ) api. #define create_workqueue(name) \ 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. > imo, it's sort of known and consistently changed for quite some time alread= y. https://lists.openwall.net/linux-kernel/2016/06/07/1086 https://lists.openwall.net/linux-kernel/2011/01/03/124 https://lwn.net/Articles/403891/ =3D> quoted: "The long-term plan, it seems, is to convert all create_workqueue() users over to an appropriate alloc_workqueue() call; eventually create_workqueue() will be removed" glad to take some suggestions , thoughts ? BR, ronald