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 3A599C4332F for ; Thu, 14 Dec 2023 22:42:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BBE1B8D00F4; Thu, 14 Dec 2023 17:42:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B6D7F8D00C7; Thu, 14 Dec 2023 17:42:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9E76B8D00F4; Thu, 14 Dec 2023 17:42:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8A66F8D00C7 for ; Thu, 14 Dec 2023 17:42:06 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 56F48140390 for ; Thu, 14 Dec 2023 22:42:06 +0000 (UTC) X-FDA: 81566898252.04.83EA9D0 Received: from mail-vs1-f52.google.com (mail-vs1-f52.google.com [209.85.217.52]) by imf18.hostedemail.com (Postfix) with ESMTP id 930E11C000F for ; Thu, 14 Dec 2023 22:42:04 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=oVEZruk2; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of yosryahmed@google.com designates 209.85.217.52 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702593724; a=rsa-sha256; cv=none; b=rOnwzvBxY3Miyhvfq20gBGqkbtmyRJLwO4tYQTi7q9tw3sQufWnRs/a+ZgUBIUAv3lXY2d QwR6MgGuEnPu4NoEBOk2lWn0HQXPRjkCPBeyC1ORDpAgRCd/SMn+xNydzFKCNpmKdj3OlV ocW5puV2FOHfQLXb4Jp69LAAhoiFC48= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=oVEZruk2; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of yosryahmed@google.com designates 209.85.217.52 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702593724; 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=MTV9Y9MaaXX2DDdqBdZh/37gFFt+TicObNRgfbQpB+c=; b=Ux6di9a2QjHxYLP3n5IfO+Sxj+HHKKO62Q3C302egXzSdjLh7C6CkjYEoTcM3KnwJspeOV zBJ2puCMKoSAHYp5KHPI/q2WcWtwB6VU/YAdLAYSdhbzPD8cl4EQk1nB1ewJGpah1d8OZj UGiddsUDWV3hXoHRGBYpPTTEVJ5TNDQ= Received: by mail-vs1-f52.google.com with SMTP id ada2fe7eead31-464a3734e49so23145137.0 for ; Thu, 14 Dec 2023 14:42:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1702593723; x=1703198523; 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=MTV9Y9MaaXX2DDdqBdZh/37gFFt+TicObNRgfbQpB+c=; b=oVEZruk2fYrdbA00C45fLj88mt7nN/7Eepz+zHeuW+SrwG8lwrSshBvgZ7Nf6te0AM Ju4YjRI95LBecXrvwGo1VjNCTQmaz2yMZrEHpdhf5EdMzyaBpVjrMKYtaxpgHVqmXNhv B/v+7QjcHEL1qlf6IJObEah/d53V/RdiSZ9mMZLzIMZWKNyxbJLBP2pBJ6dH4lxxsNPa coAHSplYQjNueDCF8IDVr8AGyJdJEQy67GW+oT28Ocnci3ctiCuvt1gVirxmc3PsiISu zurI5rvSPegWiedD49oks5b4Q3/NFmlL1h9L09XjhFGlDlWAyy3Qk8kUATuYHCzcCFPq smog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702593723; x=1703198523; 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=MTV9Y9MaaXX2DDdqBdZh/37gFFt+TicObNRgfbQpB+c=; b=k8yE9j9v+HtsuTw1ER5j1inc36QGuU3+e+Zl7ywTOIEJQJoS02DMW/hW92hjUynMJJ e6tSCEFs8Lagj2fiLQhdIMMdUWTaUesibgKVVreF5GLtKrSREmMWCufeHvfUhnXTYsDX AyVEYc6U3S8rAKbO1HrhrcgoZCvjnRzeKSxmsz3RhnOY1w+ZLyN9MBEWti+l4JqMm/V9 eRMqVSSJffalrWvccmLfmJ65sOPNeS1PhA/8fhd5VkgdStCvEDkPIo6mDgjYiN+PMQxd vxmQ/YZSbh1h4a/RLAy94UU3ZITuMRv84hcLYcXUg7fTdFfGQbhh1JK4i8VYCaFAjLSO NGEA== X-Gm-Message-State: AOJu0Yy2QoneT4cw8/nmUkE56CEfeZXYeaH85+UIr5FcFShz82Te9aiX bav3faqCMu7qjYMlkH2jWoLBG7HpfCOkXezFWz5neQ== X-Google-Smtp-Source: AGHT+IH3wqfhEK/RJ4zlhn3zTpIBajIQIVFGmO9Ie6pz+DcSBFS4OVm6rEiwv5xaui/Tt7eJBX/bNzIQiwXmZd6FSK8= X-Received: by 2002:a05:6102:4414:b0:464:5d7c:a82a with SMTP id df20-20020a056102441400b004645d7ca82amr9292044vsb.13.1702593723171; Thu, 14 Dec 2023 14:42:03 -0800 (PST) MIME-Version: 1.0 References: <20231213-zswap-dstmem-v1-0-896763369d04@bytedance.com> <20231213-zswap-dstmem-v1-5-896763369d04@bytedance.com> <20231214142320.f5cf319e619dbb2127c423e9@linux-foundation.org> In-Reply-To: <20231214142320.f5cf319e619dbb2127c423e9@linux-foundation.org> From: Yosry Ahmed Date: Thu, 14 Dec 2023 14:41:26 -0800 Message-ID: Subject: Re: [PATCH 5/5] mm/zswap: cleanup zswap_reclaim_entry() To: Andrew Morton Cc: Chengming Zhou , Nhat Pham , Chris Li , Johannes Weiner , Seth Jennings , Dan Streetman , Vitaly Wool , linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 930E11C000F X-Stat-Signature: dzxhz6u61gidceesihu1qp11w6hi4wrs X-HE-Tag: 1702593724-305507 X-HE-Meta: U2FsdGVkX18/0cb92GpxKRtV4x0iszIxj13M5FnOuqWaJhMjP5nM80S0vTGSEbVmxMh8z5fdZQZSb0uLp8iaw6kasHueeWAqGWJkr1N3Q6YsvPPvZL59Mu5Nfoe2Paer1DmgK6PKeR2zYX4SSaIKekDAFbb0rQ70RYy1clKmz6oVMbhgcCWdTtlBJuPv60A2VaW3sIVEv+aK2b5/j7asbADavhETK0WoyUbrRlhbkMGceZXo/Wi6gCqMIhQ2UYfaGpt2yYLpsbZuEKfLZZGTd4tDNHnRikLBTsP22E188r9LeTXxWGumfYdHhvKFQ8gyYogLWJ6Fd17JblJI61sib8vPioDXyCBgyBD5NiPLmDAFO9SzslAXxhfSL4Z2yl9VsxsW04+1qGzWGuKdq53IbC1/72vbFB2rSj/EwTxep37xyDZDt6UkbApJERzqSVN7djtZSB0Ir/wep2uZQvbsct2FPibB/kR//tkOOlySrCrAYQJS+hcxEMJjSDjXA1eraULMeHq/uZGENjtTvfz5IT9IGcoOJlC70z8Q0SJ4K/b4jmZMzKVzILwC740b55m98KxkxLLp0NYyVQKMhw4yoy8baezS3E5z4luskQOAqN0D/iEQtY+u7R3PxHmD4k0gsab3YZDtKojG0I7tXyWQSG4pn3ZhJNRGlgvCbcToxM9Mv10Fs77E/MbGuSDsqsk0Jo8zjdtBmjFbbeEZ0lCJ0H4PyHWq1bcD7QD5XOPU2NLR3J4PixbU6L4pyhug4CwMR+yy3SjWYaus1rKRSX3se8ctdNTELSrxZ/zSXlwHbQXimgYX5ZUVL/Jp1C+Jjp9MlRvmAT+nhypC6kbg8sdsWD256YqCvqcysNxnwtz9GjjI44y6ZsW7KtAzMR6LLK/j8U2g62ob3vSa1+D57WYjP6oMkEzMKIj454TeBRo6yMnLRIMTzHsQtDmVAfhiRYRKN++5pYBwilcA1TdlFA0 mw8vmJd6 JmgZc+wEW7E+b+dqI3Ed2Igul1WTnCRZCBJy3BuPn7ZKpHVlCjnEDuOfziGFvB8gXUZzMTXPii6SqHYZwaedbrfUa9Re4QqnamoNKEF6cfufSl3DXLBXN94JvH5rbmPRYRc53Tjj4TxHY857kvvNpX4om8wIULniT25ydjnqf5UBNcMJ76QbljtiVvJKVSdqZ8dB1yh1DtUNN50FsBFUdEJS6aZYp7zJCyLmJflDRf6eU2eDVpglJOOne72HQWfFdlVT0C9YTtCWLwdVihed9dDJKShYaj3J1OYShINRYN1XpIzQ4G6L5NGknjhkkG9f3bjgDfm8vUly5+pIGoo82lS8SPXqxATcXwVfGH0fDk5DFXccWZzykWRNEasyLLwx4e/J+wjRsSD+20CsMgq/sED2LFKnmUVjvvFXX 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 Thu, Dec 14, 2023 at 2:23=E2=80=AFPM Andrew Morton wrote: > > On Wed, 13 Dec 2023 17:02:25 -0800 Yosry Ahmed wr= ote: > > > On Tue, Dec 12, 2023 at 8:18=E2=80=AFPM Chengming Zhou > > wrote: > > > > > > Also after the common decompress part goes to __zswap_load(), we can > > > cleanup the zswap_reclaim_entry() a little. > > > > I think you mean zswap_writeback_entry(), same for the commit title. > > I updated my copy of the changelog, thanks. > > > > - /* > > > - * If we get here because the page is already in swapcache, a > > > - * load may be happening concurrently. It is safe and okay to > > > - * not free the entry. It is also okay to return !0. > > > - */ > > > > This comment should be moved above the failure check of > > __read_swap_cache_async() above, not completely removed. > > This? Yes, thanks a lot. Although I think a new version is needed anyway to address other comments. > > --- a/mm/zswap.c~mm-zswap-cleanup-zswap_reclaim_entry-fix > +++ a/mm/zswap.c > @@ -1457,8 +1457,14 @@ static int zswap_writeback_entry(struct > mpol =3D get_task_policy(current); > page =3D __read_swap_cache_async(swpentry, GFP_KERNEL, mpol, > NO_INTERLEAVE_INDEX, &page_was_allocated,= true); > - if (!page) > + if (!page) { > + /* > + * If we get here because the page is already in swapcach= e, a > + * load may be happening concurrently. It is safe and oka= y to > + * not free the entry. It is also okay to return !0. > + */ > return -ENOMEM; > + } > > /* Found an existing page, we raced with load/swapin */ > if (!page_was_allocated) { >