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 B59BEC46CD2 for ; Sat, 27 Jan 2024 14:37:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 081B36B006E; Sat, 27 Jan 2024 09:37:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 032866B007B; Sat, 27 Jan 2024 09:37:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E62D76B007D; Sat, 27 Jan 2024 09:37:42 -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 D7C856B006E for ; Sat, 27 Jan 2024 09:37:42 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8353A80969 for ; Sat, 27 Jan 2024 14:37:42 +0000 (UTC) X-FDA: 81725344764.27.9F45CE5 Received: from out-187.mta0.migadu.com (out-187.mta0.migadu.com [91.218.175.187]) by imf22.hostedemail.com (Postfix) with ESMTP id A2056C0014 for ; Sat, 27 Jan 2024 14:37:40 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qYDlgui1; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf22.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.187 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706366260; 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=pV3dWDakr9U818CnIN7WSME4LhiLTtmT6rYycJO+fHg=; b=79rwccB0v4eP3p/p1+ce/Hz6j00arOaIrz9hpeWzlWyKtrDmtmB2PEK67BhkmLEXvXXmeu 9lO3UuS5BMWwaKYXSs4Fj6isDb4C63LY/bwuJx9zDXPHMwLEC2feALMp7VCeGAmqtMf6X9 NVYyCc2FygSytHjDuAC4i5yJXQozNeA= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qYDlgui1; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf22.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.187 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706366260; a=rsa-sha256; cv=none; b=jE2wd57ZvzvhSN/wVQ5XC6PsGFHT+rLjVedBHcyXUsy10SXuYZOCfcMlduzdzZ8+ypzKv7 2pDCrvb7hgdHGr9VDSlPOolQejPwlbsoJmQgTMpFrkQc6GVUj0RPCaQH3/okX49JN5Ds0q 889VVGBzHvcEx+3rcnVW8KbyQe4wo30= Message-ID: <22e52669-2cf5-4375-9cb8-82d2f5faadc6@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1706366258; h=from:from: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; bh=pV3dWDakr9U818CnIN7WSME4LhiLTtmT6rYycJO+fHg=; b=qYDlgui1sVedlnQWxnqFLMKOyPA/LJ9C2q1zlti+WVLNGGzkmFKmaf5RM500TbvX7F2Nb6 vY7cK7u5sn9aXlCnetWYF9+FSerVrXAw59oA2qqEvBuGua0FSH9gy0S+vkqSSLDOdom27O n9cGwYF8moInV/cCIV8lA8D0Gsh7n4M= Date: Sat, 27 Jan 2024 22:37:07 +0800 MIME-Version: 1.0 Subject: Re: [PATCH 1/2] mm/zswap: don't return LRU_SKIP if we have dropped lru lock Content-Language: en-US To: Nhat Pham Cc: hannes@cmpxchg.org, yosryahmed@google.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chengming Zhou References: <20240126083015.3557006-1-chengming.zhou@linux.dev> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A2056C0014 X-Stat-Signature: 4jtxntyuktfa8jdy1eaxbofe59hh3hkr X-Rspam-User: X-HE-Tag: 1706366260-709596 X-HE-Meta: U2FsdGVkX1+Ex2ULfKnX2cYoTimfUWDHxyOkVw73kPZP9WOVXvx05+U39Vcc85FG3wA4zoyk6ww4lPdv/i8Z7BpH3nMA0purw9+aWviJkZOe4cBgJNZyy6TPTnSCPHXp58GiNYBrQ5THakmZbQtvFqJUK1oTgAAWUiwaNkJa7zlJgbJNz5Gu05HSGBIVrTPb0fA2EgMlB2/IQZHPQgWkLmLyK7CQE09nqtyjrWToT6ay0rZsXs/U3O3geLd99X+pGp+egT/YH6HIz9BTCWPWq6H8pLpMeE3yGqTK7+9AOZvs3/ugl2xtSsP98qvj727n9rVwy+XADU3H/TbuVemY3Wzlrd5SyZUNw/ZPbK8Ebi3+LWhSe6k/wQfJ8qAPWtubf/GCs8SsEKSg7/me7xrlJmgEYIvt9kwgcqedOJXnPwgOszEWuQCwyZjY3r3ny3aBp4DGxxc0SreqFX5v+tAxbzH6aLw45zlVdWeg5mt0kjF4XIRdwkfhfZVEHrUGdI5sx6jn9r8uvzBuONq7V5PkmspD8ZmpOcmqoBcOAhYyDWqUu1Dzx3Qy7laU05aqQEvIMzEVoeoDApO42GWGvM7P0tDQ43omeXYBXTmvG82q+t/hzKxCAXU3j6AIVCStHQa944pMBTJM58+D2dVEsJ660vDf0B93dYdCm/4mgsOP/mel+en+1WO8KT14ahYz33fqkMNWDhvDfPUpamXLFLMSg83UTpqNf4LyFz0CEme5Za5pkvRnkFjxVaLBMdXR+22vC5lIN2t+HIv6DMtJKLh20kLcwu+KUozOTvAdW3ezGnIdgeQDTyOm7PV9MhAUsEeO5oA8qCvzswAaVrbxlv1+gVkOAxzqzJBqcj52SThjidNc3Qf751V7odr20Z/NN7opSzus74pZ6BP4/t24On8o9nfW6YuNpEoGGa/IyUtI5w2c4qxR1lcNFOLOZts98y07SgZ+xhGBSzL2X+YeHAf WEsu7lqY 8X5xYkmZXUlT0WcFmAw0p6KumhTw30/ANB+v97fNlQjgqMv8nSjlWp0WZt6/Gzx5AMRk9Xfn23FJUhsWCecwTirNCPaiCd9ELsltZ2N1cLU4woD/m6mf4N48XN0PJLV8wyCZogWT5J15hbr31YxVpsNGfKifVfJYjRpzhyx+14SfAqEfvt1SvMGFU1BH6mP1g/qQmXdOAxdDvCHZFYGV9clWmYQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 2024/1/27 02:01, Nhat Pham wrote: > On Fri, Jan 26, 2024 at 12:31 AM wrote: >> >> From: Chengming Zhou >> >> LRU_SKIP can only be returned if we don't ever dropped lru lock, or >> we need to return LRU_RETRY to restart from the head of lru list. > > Ooops. You're right! I just double checked and only LRU_REMOVED_RETRY > and LRU_RETRY indicate we might have dropped the lock. My bad. > >> >> Actually we may need to introduce another LRU_STOP to really terminate >> the ongoing shrinking scan process, when we encounter a warm page > > Yup. This is what I was trying (and failing) to do. To be honest, this > needs to be even stronger: short-circuit ALL concurrent/ongoing zswap > shrinker scan processes that are touching this memcg (as they will > also shrink into warmer regions going forward). But that's a bit more > engineering to do. LRU_STOP, which stops this scan process, would be a > good place to start. Good suggestion, will look into that more later. > >> already in the swap cache. The current list_lru implementation >> doesn't have this function to early break from __list_lru_walk_one. >> >> Fixes: b5ba474f3f51 ("zswap: shrink zswap pool based on memory pressure") >> Signed-off-by: Chengming Zhou > > Reviewed-by: Nhat Pham Thanks. > >> --- >> mm/zswap.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/mm/zswap.c b/mm/zswap.c >> index 00e90b9b5417..81cb3790e0dd 100644 >> --- a/mm/zswap.c >> +++ b/mm/zswap.c >> @@ -901,10 +901,8 @@ static enum lru_status shrink_memcg_cb(struct list_head *item, struct list_lru_o >> * into the warmer region. We should terminate shrinking (if we're in the dynamic >> * shrinker context). >> */ >> - if (writeback_result == -EEXIST && encountered_page_in_swapcache) { >> - ret = LRU_SKIP; >> + if (writeback_result == -EEXIST && encountered_page_in_swapcache) >> *encountered_page_in_swapcache = true; >> - } >> >> goto put_unlock; >> } >> -- >> 2.40.1 >>