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 42FEEC54E71 for ; Fri, 22 Mar 2024 17:10:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BBD596B008C; Fri, 22 Mar 2024 13:10:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B6B046B0093; Fri, 22 Mar 2024 13:10:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A33C66B0096; Fri, 22 Mar 2024 13:10:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8E63E6B008C for ; Fri, 22 Mar 2024 13:10:12 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3E25EA10A6 for ; Fri, 22 Mar 2024 17:10:12 +0000 (UTC) X-FDA: 81925313064.20.16F2792 Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) by imf22.hostedemail.com (Postfix) with ESMTP id 7A66DC001C for ; Fri, 22 Mar 2024 17:10:10 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LKbHLRGg; spf=pass (imf22.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.167.174 as permitted sender) smtp.mailfrom=nphamcs@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=1711127410; 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=0WK7ESWIrsT1mdAzBwJKIthGxoZjuPKZEr2RCxckPCI=; b=k6QEQUI9SfHdl6oLYCX1GMrwhY/REhJp6ok9oZ5Hf1bKoKVF1ePRDVtPcbDD+86UYgapP5 R59+nayDcyB/wvukob8lx0Kr2jYRXlf6H3b8XTyJHUt7bKPN3KdxLKaea9xDOj4NKq2gzy oYsE81AiGS71irzuztrrg7vSMTiUFlQ= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LKbHLRGg; spf=pass (imf22.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.167.174 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711127410; a=rsa-sha256; cv=none; b=mPDzik5rnZ2Iujr4wUMWqTyo0lMUQOMi636ydghTOaESS10GIwgvHY7NruulnPudU7Z82Y JW9XCFJFDK708zWy/cnM6hmKY6IQDBTkBNDq5Iz8w613kjqtpmxiTtuliiFUw8ADzuyt6E YqF9nCfTYZlcG+yUKLMYdZeatbZ1k6I= Received: by mail-oi1-f174.google.com with SMTP id 5614622812f47-3c36ecdb8cdso1128734b6e.1 for ; Fri, 22 Mar 2024 10:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711127409; x=1711732209; 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=0WK7ESWIrsT1mdAzBwJKIthGxoZjuPKZEr2RCxckPCI=; b=LKbHLRGg7kuvMSdEY0r2KamQAYFLZRvEiuoLGeKu+iTfRa551CotXEjxppEh+Cgy1k 5678mutPwas5X/FQG1b5bb+a0hlWMCUyd41OVmBylRK0bgImefdGY7qc6ieNlpLMSS6I EUIPVRHGRa5amCx1ecxGnQsJDCFAj0J/Zgl5Xome3RgIdyl1c4Ixe02x5M7LlW5g6jBq /0QtmkpYwVY+ndRUxX4ZCSMfCgRLl+ZUWvHrSc7C2pfWhnWhey+gX+dNclIcNPPUDGsn PCLxdUOZrOaf6LnD6lyf/2sTvSipDEbZOI8MvxDo06+B3WpHnyMOaUMOkSxsgzuMQGHy sUKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711127409; x=1711732209; 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=0WK7ESWIrsT1mdAzBwJKIthGxoZjuPKZEr2RCxckPCI=; b=KSJUWBVu6IW3aXP4pHYi2pX+zcKDrcsH9tFRT7fTrX3LDqkbdUSloE85g1YTybVpEv BQj0PVkL19+wnDTod1oBT/EFC5nvBHZiMZOgx5QITYoePciErTd6tvVh5u5cO74H6yaW qIDZLjAClxommDviNyh79xeNXA6GNf1RLWybUyFc/FEHK9L/0KRqSNSyNzAemzB82/9s Vqdz7tGsnqsYJdv1BJvnY8o02rY8kvRMD/UXQj80g3Mu3gagqhDm8CWD+QnzNFGj3Q+R KfurMZwCAfVHv0Eat6Dz3dlfCDpdyPbMm3dXWOL8UAhIC2bzdy3ulbn60gfItPQz2ASM Ym/A== X-Forwarded-Encrypted: i=1; AJvYcCU+Ev0oCGVoFcMVxUXZ+9/Rtk+agq44BV6n4h6kRosOzG97kcWJX3+Iuq0rAxwkFTr+2HO/QAIuL4CGcmatsQxJlYI= X-Gm-Message-State: AOJu0YyG3DP04ROoO6mY2it1qS/t0r11BG6TXf9ur4piGZ8uTqreIDO8 w0Fn2gOlyHLxP55Hfgwp5HNxSw9ScwTErBuioEgYEQ6T3qNUkl0Xq9QOSwXRslURAtBnmTqRrz4 roRZAQOQz9Y7wulXvPPVS+pH566I= X-Google-Smtp-Source: AGHT+IHe5lm8Oz3ykhLJ25PlsDeMFHiGkFXpFUiBjYMSOx4eCClJWATfPKU5nxuUmZxlDIAUFAQ1bN0dwuYpPYgZXJ8= X-Received: by 2002:a05:6808:198d:b0:3c3:89a8:8de9 with SMTP id bj13-20020a056808198d00b003c389a88de9mr337900oib.51.1711127409375; Fri, 22 Mar 2024 10:10:09 -0700 (PDT) MIME-Version: 1.0 References: <20240321182532.60000-1-hannes@cmpxchg.org> In-Reply-To: <20240321182532.60000-1-hannes@cmpxchg.org> From: Nhat Pham Date: Fri, 22 Mar 2024 10:09:56 -0700 Message-ID: Subject: Re: [PATCH] mm: zswap: fix writeback shinker GFP_NOIO/GFP_NOFS recursion To: Johannes Weiner Cc: Andrew Morton , Kent Overstreet , Chengming Zhou , Yosry Ahmed , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 7A66DC001C X-Rspam-User: X-Stat-Signature: tdojayfoxpfkzb6zo5dagq884k7df88u X-Rspamd-Server: rspam01 X-HE-Tag: 1711127410-693536 X-HE-Meta: U2FsdGVkX18iHUdkK5C2IaORKiIfWi2H8Se2lTO0iLz5c22y8kSxqxRf3+/dmEoZhFA+lYVuntdo24F8qsx7VCEIcwG4F3a+QBEeFoiHTZHUjftPxcn68OCV5DDOiLgZlsprWeTENcIq8q5Zsio2e90JFZSntRxQUkfz+UDRiqfL2joAkEVMNSwqRd/5pJgKRcK8Z3iYh7vAiQqf/z0qitcpa/z3RZizvJ5Mj0AEqycPld9MtQrJmZGybHrVOZ9A+zVtICTq/aVmRkvbddvmNu81ryOdLIOrXd/O5yWeHwltYpOYa7RsVsUJOz8ZsQXjbBJIKxvQEGQAnBHksOdL01l1avp6QX071oen7dRAmMgim/xrfxLs5Ufbg4HGFF7YfAmLWP8t14G/wp2iyVpUB10mtG/mrob/BPlMwWMkA9zryZaSp6DEcKbllKEPo++xTkALgTTIWL9ib+EsvsrDSPvqSRfY4SrVvd8RHCdsokQ8GfVi4ug6PkTxPu7mgyvKsokelTU0DGQBYKAD4qxlj5Pe7XbnTgdAsrYSjfsAs6JlXuM/BvkDBreXck8FlXn4EkmtW3lIHqIN+BncH5yj30WlEhdcwuqNzdHByoo0PKEjvjCEXQGwEXwQGwNLpX3IUfXMOIdJ6OcvyHqJ0gsH+lF7DtaeZ3ixS3cx0+rN+6lNKk/UYopEpyq+bZLSCM8IxjV6NN88sCmshsRlRpIob0QcBXBYlxa3NEPTvK2ZQJjBOOaVc+3B4xHDcVRM2oJz4NiCpf6WX2rxXqztEl0pnGbBft6VeLf8WovrzE4vgw4bdTAZ6J3/IlIvFQ2Dvbrm1dRXNkKnNaYzZBMlkyTDdYgqhur0YMgDRQCT0HW3H8/PxzZ7pmDV9N22RxRACUQyJYCRrJI+6nIml/Zk9pofMKthJ9e5hWv0HryE/UZcxfwN26Fq2sRqJ5UcM9RWTGSS/UB3VI8bbXMKcwOjdZx ugeihiUs GQnVyNDmrLBxY48Hea5ZjLmvqW3hzcdAxSC/ktG3cNOyhtq6QWT/bDbrFXxnvv+ibQWlyuvfmhnfkHHNODcBmNJ98ZyHTpML3UrTFRafk5I935u6Evyex3EN3AuNbDJHXTCfGPSqqLlEPBSxgAXYK7oOdGRjcsliIDMLiXwSyDNmHPJb2jvlv9K4XYCLOMA41zUY/8/kPKb2seH+bz+h/WOwt7tzTjtgp8GkJ7XsR6slwfPC3CvB8WbFUvWwlWVb3ITJK5Fa5U8qPAjtYzZjjJYRsE0yZRj3/y9NJZUFMrOp7l0AUwCI7ZozUSt06eD4B2n821gcEwNFY75rmShjW7baihvECcMcmwBuNeFMormtGzjQkDR33M48ul1fdfTFsTZiipMBOvmqqvbC7C6v/uyRjqB9sXA+WhWhezYtFmhmrBZdtmRh4fgedeG2Gnnz425D4zkaz/87jaRP6h7bztGiKr4M0WZ6GGQ3rBQ65V3BFeezqNzhoAn2HAFnEmh/FGCoIKk6kHheisPKkVgUQ9F+RMYy76m2TSZR9 X-Bogosity: Ham, tests=bogofilter, spamicity=0.103750, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Mar 21, 2024 at 11:25=E2=80=AFAM Johannes Weiner wrote: > > Kent forwards this bug report of zswap re-entering the block layer > from an IO request allocation and locking up: > > [10264.128242] sysrq: Show Blocked State > [10264.128268] task:kworker/20:0H state:D stack:0 pid:143 tgid:14= 3 ppid:2 flags:0x00004000 > [10264.128271] Workqueue: bcachefs_io btree_write_submit [bcachefs] > [10264.128295] Call Trace: > [10264.128295] > [10264.128297] __schedule+0x3e6/0x1520 > [10264.128303] schedule+0x32/0xd0 > [10264.128304] schedule_timeout+0x98/0x160 > [10264.128308] io_schedule_timeout+0x50/0x80 > [10264.128309] wait_for_completion_io_timeout+0x7f/0x180 > [10264.128310] submit_bio_wait+0x78/0xb0 > [10264.128313] swap_writepage_bdev_sync+0xf6/0x150 > [10264.128317] zswap_writeback_entry+0xf2/0x180 > [10264.128319] shrink_memcg_cb+0xe7/0x2f0 > [10264.128322] __list_lru_walk_one+0xb9/0x1d0 > [10264.128325] list_lru_walk_one+0x5d/0x90 > [10264.128326] zswap_shrinker_scan+0xc4/0x130 > [10264.128327] do_shrink_slab+0x13f/0x360 > [10264.128328] shrink_slab+0x28e/0x3c0 > [10264.128329] shrink_one+0x123/0x1b0 > [10264.128331] shrink_node+0x97e/0xbc0 > [10264.128332] do_try_to_free_pages+0xe7/0x5b0 > [10264.128333] try_to_free_pages+0xe1/0x200 > [10264.128334] __alloc_pages_slowpath.constprop.0+0x343/0xde0 > [10264.128337] __alloc_pages+0x32d/0x350 > [10264.128338] allocate_slab+0x400/0x460 > [10264.128339] ___slab_alloc+0x40d/0xa40 > [10264.128345] kmem_cache_alloc+0x2e7/0x330 > [10264.128348] mempool_alloc+0x86/0x1b0 > [10264.128349] bio_alloc_bioset+0x200/0x4f0 > [10264.128352] bio_alloc_clone+0x23/0x60 > [10264.128354] alloc_io+0x26/0xf0 [dm_mod 7e9e6b44df4927f93fb3e4b5c78276= 7396f58382] > [10264.128361] dm_submit_bio+0xb8/0x580 [dm_mod 7e9e6b44df4927f93fb3e4b5= c782767396f58382] > [10264.128366] __submit_bio+0xb0/0x170 > [10264.128367] submit_bio_noacct_nocheck+0x159/0x370 > [10264.128368] bch2_submit_wbio_replicas+0x21c/0x3a0 [bcachefs 85f1b9a7a= 824f272eff794653a06dde1a94439f2] > [10264.128391] btree_write_submit+0x1cf/0x220 [bcachefs 85f1b9a7a824f272= eff794653a06dde1a94439f2] > [10264.128406] process_one_work+0x178/0x350 > [10264.128408] worker_thread+0x30f/0x450 > [10264.128409] kthread+0xe5/0x120 > > The zswap shrinker resumes the swap_writepage()s that were intercepted > by the zswap store. This will enter the block layer, and may even > enter the filesystem depending on the swap backing file. > > Make it respect GFP_NOIO and GFP_NOFS. > > Link: https://lore.kernel.org/linux-mm/rc4pk2r42oyvjo4dc62z6sovquyllq56i5= cdgcaqbd7wy3hfzr@n4nbxido3fme/ > Reported-by: Kent Overstreet > Fixes: b5ba474f3f51 ("zswap: shrink zswap pool based on memory pressure") > Cc: stable@vger.kernel.org [v6.8] > Signed-off-by: Johannes Weiner Reviewed-by: Nhat Pham