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 B0192C4706C for ; Tue, 16 Jan 2024 13:32:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2116A6B0078; Tue, 16 Jan 2024 08:32:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C0966B007D; Tue, 16 Jan 2024 08:32:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B0026B007E; Tue, 16 Jan 2024 08:32:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id EE6336B0078 for ; Tue, 16 Jan 2024 08:32:12 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A6F20803A1 for ; Tue, 16 Jan 2024 13:32:12 +0000 (UTC) X-FDA: 81685262904.03.76A33D9 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by imf21.hostedemail.com (Postfix) with ESMTP id C0AE41C000F for ; Tue, 16 Jan 2024 13:32:10 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BQltpKi2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf21.hostedemail.com: domain of debug.penguin32@gmail.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=debug.penguin32@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705411930; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=toKzuFniRcNlr/ckldQaNDhULExFRcUqJOSIbFFbNgg=; b=PGKQ2Mpe6FmdI/QzLUithnC8dgfFyBpJPR5awTbJ7ndjuabyrxwI6kx3SdUApFtN6et/2u a1Txnv2bbfFSuAm73ebL1nC+zYlA6B16iprN+nfX/BQf4FWR8/5Yuz0hTN2qjk8pxjDntY wN6IrVOXzsLdT0i1gYJYGj85Cs5Komc= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BQltpKi2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf21.hostedemail.com: domain of debug.penguin32@gmail.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=debug.penguin32@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705411930; a=rsa-sha256; cv=none; b=1/URi/sr/3qRK3fgWMRGn47DsJa4s+6cDdaCkFoiWArCXLwAGpaSbUpzoIZNNnLYcmfb3E /UcWRbIKvt7LSH1EfBXk+l8m9mDqvS5wCZrNltZgX+bXA1tx2qlICxESNRJdUtalwEUbkR VEThnW0Y6BNXfVkVlsuDvgZXbgATbKU= Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-6d9b13fe9e9so7615887b3a.2 for ; Tue, 16 Jan 2024 05:32:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705411929; x=1706016729; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=toKzuFniRcNlr/ckldQaNDhULExFRcUqJOSIbFFbNgg=; b=BQltpKi22kNTCfJ4Qn0ul6MrGoY9qE3oWBPzC3Il/1NIpEFZflWayE7BRC1qtZSMN7 zWktzyhr8jf7GDoH6+d6NuUUzHkG/idUPw+NuLAwwV86jwICze39PJv37DJAOFnTdSDZ qaiae9fTLi9/MQkjpMZx2xqK52MM+HggydGUKYiJ/xaEvFdyUwQui0Vbu4nLz7AHxkQp 08OjiUdQIfefy4W498wL+oy3L8B0iOcQjE2d8MjBLUfzt1MVJ0oBDrNSGHJr12KTMLht OK63mz2OHCq6cPg8IK/y0g52zFWWdNOyV+gx+tYKIR+aBF9dg5BCmgR1l+5Hb3wGfEFb 0bcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705411929; x=1706016729; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=toKzuFniRcNlr/ckldQaNDhULExFRcUqJOSIbFFbNgg=; b=oSEt+yn5ooWJ+YZmpXHPh1WxgOV72G0rkD1RAP+RmCmQw3OAhOhxDPBxe+nD3vJ4GG m1HFYE9diOPrngqpU0aBVzVgKI9gIzHApvTxB2oxs1WzmdHz1m1cFR9uDZnm48Wmbp5q G4BFjxcvkkXWFPvFnLsK2q4Fh+G2gYlMf1IqlTKQSxi+OSn7MT9fHP62xDXcyOEeI1Ik Hi/0t7XpTaeR7dgPeGG0vrtsqVjcfAnkluScCq60c0wAMq9v1yL52O2CgPvE12M5XHsq 9ZmXdo4cD1Lpz1iJYL9AcK62mxM/wSbVawcLyCbIpt/Z0N5HHqODYMVeksfPTsv3j2rg NIlA== X-Gm-Message-State: AOJu0Yz3ffWoLKxGAgFRNOP7s3gOUaGYvKxcULwq6TYLgwy8rtq32hPi +4AVWNKV1znqOHEW0WNxoeg= X-Google-Smtp-Source: AGHT+IE936n+Xe38cFygc8eo7sinvQaf/CW5svZJqPkKmqnFtxc6+RfgXV040dD6uSB+3F7ZyySrww== X-Received: by 2002:a05:6a00:2da2:b0:6da:1833:cb6b with SMTP id fb34-20020a056a002da200b006da1833cb6bmr8654996pfb.59.1705411929442; Tue, 16 Jan 2024 05:32:09 -0800 (PST) Received: from eagle-5590.. ([192.166.246.176]) by smtp.gmail.com with ESMTPSA id d13-20020a056a0010cd00b006da04ab75a8sm9259336pfu.1.2024.01.16.05.32.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 05:32:09 -0800 (PST) From: Ronald Monthero To: nphamcs@gmail.com Cc: sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, akpm@linux-foundation.org, chrisl@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ronald Monthero Subject: [PATCH] mm/zswap: Improve with alloc_workqueue() call Date: Tue, 16 Jan 2024 23:31:45 +1000 Message-Id: <20240116133145.12454-1-debug.penguin32@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: C0AE41C000F X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: na38kuh5ujcown3andsrsiyqhqm1e9ti X-HE-Tag: 1705411930-476055 X-HE-Meta: U2FsdGVkX18o128FUSIH3vCO7opFBgoub3XMUSaEXwcTIhXDGNcQVmWJi+rKoTn5CxRnGip02257ahRKEURwrOJ+qbzLGIg85UWB/SG+xFM3kHDuSm7RuUb2vVRV4mEvYvIQOfBg/VK3VZPdzX5NbHHfT5f1b83rosfR9ii3yifibsjiH0g4wb4nHTWlVL5Ic9zMmI8fc7lIFt7eSFOazy/hs9WoDqDxeM5E6y6KJracHDAZecooreCXY5V0a5todJCq1RWujDI+lK96RBmP1rYzNtauQFA8d2CXeaUY4NBTOrJwFwdYbvFrMuR2L/Js88qLlNQuexU20leNJlx4wE8bnL3Li0s9wfH4K8wTWn6KOxJo8ralmFO1uPOlqDdUOnjONc5Wd3YohCbT0t1F51wtqhvKgBbctioc9rxH8XZ0ykWRvQofKfuFrdiQNJq1gq59Iy33PxR5l2MOPo1zzXVs2sF1K40eLtXnqpByrSSsYlx31gdCA7hKH9VB0wU90dJ8Em+HT9vuc7mS1WmxJd3c4dEmT9uaKqE1EgaOcdJ9T3jYs74PbZicaYvPKgy2MDMZx9Gu/0PO2s5Apewv2SuG1LBuPFlFa2SxALUyD84qycLGUruvATZ6XhWBajJAx7esu0bcgPzdxNQ1prhvbPJJEq9lm0nPVmTR0jDMrmhB1vqWAt2DpEioa23iLSZbW5OLrFe3qeJQ3C0DZJ3GLNcanJPOWAh3H60upwReAiRgtzzrYDmw/XBu+sOnowiQdD8DTAoJ/bYLnKYCQdNcmn+8sEhv46dZPuxIjsxmS7JMx3H61qTj4NceJzI0LhXeJXK9khw+VA6xHT+IdAC6nR4oX6acxfevaD3V2PvSynSrTT+9QoWcBP3owHb9aMcym3fZ38KCGgPkUcd/ZauzhD/ScCDxDBSVsyJxt4UAQJasNRNiVKOl+lVaUvFqh13oFmCCCmPudbz+j9qf7Wd qBNqmhg6 BLHeYbzSVuq71lTDgP6QUNKqzMEBYClmXnjr9widnVLyFYgF2QFO4ex+zmWGsfdnzrHj5F29KD3Cy8XkttipvB+qPvwZJZX25QlcAf6rMi3HncUU2+joRDlc0PCB/HqS58RV/tLh9+xmfsMtQwvimgn/UX6ejWH27/K8J57ikg/gCYJaDT5ZV+q7Ge1r/FKSunPz2wOXmlWk81jUw5V/GfTUv74GG5BDZ8smgcRA0FmXTxYp3A/R7RVuoIo8sLvxxJOv4Es5DrvtxX2ymi5dcbJa8Pke21/yFuvVVI5KjteoxJR/J9dEd3UjbBxiuRwm5hLB+C5VpkRikd2iYulMZo1c9UE24hx6UYxfKP0Nv0R0UwffsBCGfSvq5OasasrYaKZ5O3HYfndYQNsYhSewIPrCohg0z7Dbg7rvDQ3D+T9l8fTwqD5KSY/VpG395OWbAvQhXW+K2lQKulIUJz7Uo7YdeXY7Q8lZC8o4t9ALzyX3JQHb6Cn6i60g33kSeFcmCBs46A30yH6LWiwTYf94GBbtfcxzeDGQpBppV3VuuV4zFDFL4kG9RJroDSMKK4YulYg03Hu8R01eD4QL7JShx3FpxUA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.006489, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The core-api create_workqueue is deprecated, this patch replaces the create_workqueue with alloc_workqueue. The previous implementation workqueue of zswap was a bounded workqueue, this patch uses alloc_workqueue() to create an unbounded workqueue. The WQ_UNBOUND attribute is desirable making the workqueue not localized to a specific cpu so that the scheduler is free to exercise improvisations in any demanding scenarios for offloading cpu time slices for workqueues. For example if any other workqueues of the same primary cpu had to be served which are WQ_HIGHPRI and WQ_CPU_INTENSIVE. Also Unbound workqueue happens to be more efficient in a system during memory pressure scenarios in comparison to a bounded workqueue. shrink_wq = alloc_workqueue("zswap-shrink", WQ_UNBOUND|WQ_MEM_RECLAIM, 1); Overall the change suggested in this patch should be seamless and does not alter the existing behavior, other than the improvisation to be an unbounded workqueue. 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 = false; } - shrink_wq = create_workqueue("zswap-shrink"); + shrink_wq = alloc_workqueue("zswap-shrink", + WQ_UNBOUND|WQ_MEM_RECLAIM, 1); if (!shrink_wq) goto fallback_fail; -- 2.34.1