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 3FC03CDE032 for ; Thu, 26 Sep 2024 18:46:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC8DA6B009D; Thu, 26 Sep 2024 14:46:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C79296B009F; Thu, 26 Sep 2024 14:46:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF2D96B00A1; Thu, 26 Sep 2024 14:46:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8E4F46B009D for ; Thu, 26 Sep 2024 14:46:13 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3055740395 for ; Thu, 26 Sep 2024 18:46:13 +0000 (UTC) X-FDA: 82607769426.15.1F1F9ED Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by imf15.hostedemail.com (Postfix) with ESMTP id 14931A000F for ; Thu, 26 Sep 2024 18:46:10 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="M02oqjI/"; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727376249; 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=Sk4UTkfwIuITGHz9uOfYgqgRx4tdqdVUB6KNEJ6hUiA=; b=Wdci/s08wEFA+wAhxJBHWdjlPUT8v+IxflhA0nnoF5OojDzH8KIQfDtbHVyh0WRdv3R8UJ i9/XCTwLp2adohgl2W4Yj2HJsWqqgnkSO+kFhsF9R5gjyu5HdwPFBqul29x85v3887m7Tp 7U7FZpLNryHUOSUigb4S9FcesSnViRo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727376249; a=rsa-sha256; cv=none; b=SyLPSyv6BaduS2CrvzHS2YOvyXXBqIuOgXxRkwpn6cnBoDh68XIPruPG69+J0YgEIFnm2f wRV36qJk6nJeyoqTZa+z6HamvtuylGaZNK1QDd8aiyHDS04dbJ0NYsuH0QK9ZJ9SX+vgIX lwOVTVhl22QSrEUZuSpq4E9wIVwSkmk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="M02oqjI/"; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-a8d60e23b33so180879166b.0 for ; Thu, 26 Sep 2024 11:46:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1727376369; x=1727981169; 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=Sk4UTkfwIuITGHz9uOfYgqgRx4tdqdVUB6KNEJ6hUiA=; b=M02oqjI/9a0DsLxOk3suCgdt6hzAGAZmDbuVNkz/X2H4F7vtvJ36eY/DsCYgNptxEX FGiTUximlUWr25UNKUpWwZNefeZ701uzmv2EBVP+DsIXIub7ewVEggHD/nAo4zbuPbq+ 7Fmz4w+9fQs5OzS71mnEy0opdcfNECQXBwz18bgNw6Ahxvo8S5IL2eHLZZTHSWZ5NCqb HA8qCsslM4Z2uI0dE0NQ089x5Ng9Pt2dXCglWKDNqvZbk2izKaB1vY7bcVu6Uj3uAwV6 XnRY3//sor5FsoWpYsAg1nns8UxQqlx6icqDKQDln8cVWoOGps6aFYpL1hpmkHoUanlQ PxbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727376369; x=1727981169; 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=Sk4UTkfwIuITGHz9uOfYgqgRx4tdqdVUB6KNEJ6hUiA=; b=t7eePBBu1TKDbj6rOOtcJ3oyqMGt2LM7HUPYjnlXdxswSSysblCbyau827Q8NHcH3j zdrhTh53amZWSYfNMpgUTgXzEsMYoOHix7oN+zzFXX9VpDc6lzLzt9ARJbuhXAkxket8 XXMPJ7N124UKj4Mi11lKY64lh4nTq/72msGUI41eLyszYIw5qTMSiElP/m3GiYQqgoRD 6HeD/S5EWa0m+CThDb08H7xFTIZTlXBElY3H5mqQyEZYdrr+MJvWopCfuMjVIQ2wtp92 Swoz+vdICzknF31jyXRsUNvE2DxtUgSq4Kdm/zJVD5Mk1YX8swR4DKg8VSImIWcrggPc draA== X-Forwarded-Encrypted: i=1; AJvYcCXtIkxOhR+EI4vfHyPfleh13GRwRWHY8SG/Gqz1PWGqcs4A3yvESaLy1lSGwPiHWyQlLhfaHnyYnA==@kvack.org X-Gm-Message-State: AOJu0Yw2oAgnpX/aoGB0JjzlFHpq8/N77oUpfAa8AKzEXBDmaGtD+ztA 44hKYeWYazCIS0LN8dbofWuCtetvFgWfkERSPy6F/E0G9ZMSaN6N3wVAbLUQ45BJZpYbxUhlorv 6FHA83FcFYt2GY4naDqFu0ZZsAcyCxaEfl1bozu1muqDU5cjGPamf X-Google-Smtp-Source: AGHT+IF6mjmm9+8cOinmmP7Rpa+erJ49P6fmsyYj/zNyOkhh4bzdxLi7MHTNWAUoTVFqdTQOykj5Qcy3TD1iHOvIWAo= X-Received: by 2002:a17:906:dac8:b0:a8d:4b02:334c with SMTP id a640c23a62f3a-a93c4c284b7mr41231566b.64.1727376369220; Thu, 26 Sep 2024 11:46:09 -0700 (PDT) MIME-Version: 1.0 References: <20240925192006.GB876370@cmpxchg.org> <20240925201323.GA880690@cmpxchg.org> <20240926184301.GA883850@cmpxchg.org> In-Reply-To: <20240926184301.GA883850@cmpxchg.org> From: Yosry Ahmed Date: Thu, 26 Sep 2024 11:45:32 -0700 Message-ID: Subject: Re: [PATCH v7 6/8] mm: zswap: Support mTHP swapout in zswap_store(). To: Johannes Weiner Cc: "Sridhar, Kanchana P" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "nphamcs@gmail.com" , "chengming.zhou@linux.dev" , "usamaarif642@gmail.com" , "shakeel.butt@linux.dev" , "ryan.roberts@arm.com" , "Huang, Ying" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "akpm@linux-foundation.org" , "Zou, Nanhai" , "Feghali, Wajdi K" , "Gopal, Vinodh" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 14931A000F X-Stat-Signature: nt7kscq6jz1xcsgkn5t7hqo6b86fj4is X-HE-Tag: 1727376370-289221 X-HE-Meta: U2FsdGVkX19DlKZe90O+i1CGjgby1UD5nzJqbRM1CT3N2XuEOvBy5z4iYvRLf+l/pYfBkdfxd2/636kvdJukSsrKPt3kdXUB8QsmBagV081LM1zVFG/aKCeAZ3fYydqeM2yJWZG2UyPqO9ZpVqwylTvENFTz730hlsJOMavTY1Pegxf49gk+x9vIM4Rp2spSYWkeOVVt69wTkju1U0HAwuOMU3EC3CJBoFIdzft8jTJZILBcjUELaOUvcNMAGh6JZJjzTjBdXm3rbwn7dvhMlBqEs3u/1+M1E9mUkTC7BtjK6My6BjZL5Y7AX4gyUHbI7n4mW6YlABLP/H6GD3zqmdfHpLGVrm3Arw3wEuSNzzO2/viMxKbfiUkv8UyZjzIpWQElVUwGZb/Hn5jrZykpRZyaIvtZSHWtBy+ce9X53pFZACABpjIY7KlhnVznTbEm8cUzhrI+L7XSffqtRVJASIQL/DnlUQ+sTpM6WTZMPaJfdUA+QTgTyiperbLwO6+BQ/LSRCT47sxS1buq0Hw3Fk6/HhhrIWWGG+BcDXSz25TE2jzyBTFFV7nWkfCkPA1ICDIMmx/zoncY18IKTGyiXxAKlt1iC4p7/8B303lWAciIqeB1KfB9ma/lcRa2QbRYkV0HGMUwgp0gjsXUzrkW8O3+o/sR478sAZ+KN6rblXHaZ8TXI0HErwEK5Mx97P7CGa03he0kOYLQ9ZDk71z9Iutd35K6Lo1XxFHN46IdAjlktruYdKbDex7v9TSIW/w95qSY1foKvXXH+TbpKXV8nRcuLKL7fWNdZ328oYcxaNDUoz4eWn4FXQpVUzFhgYBkCDUeZFzEg8au+uxCWbp7jOu1eJEGHO9CaTEROxGxN0OM4p2ndJswke2F9Cl71esj1QSU4KZEkqEUah6t9oi0yJh9y0HS+GzhG6uHHF+Vduw3ETqq8wakbacNyRLAwWh4s8NP0VTb1lsUtAqmNRK DhcJ1EBI SYHc3l7KGSzfVxkKOWPWxGbnwzL4Q3tlGsfjw25SuINKjokYK1YKW1jsbN7CRJ1dQ5ihkHdQ75BsH2mjADlRECMS5UmP7lcZ4Lparn2fk307Y14yv2dNo1DnMrXkCNQQiKSZL1voRpakPfchuZ09eVnIEv8GfFCK/O0cKWXKgEbNnTUTcgsubDn5TABVZAlcVqShXBOdetkov82An+ovRuqB6rH3Jy8YScv31rk425VnzRvWIs2UQUm697NkY+c+B5ahf14msTXzGLpIWHSey0h8x/2Y3dafbSFhM5Wj0PfX8VUkSjK/m3FYHXSUkpSjNMJNsu+fyQOmifkZvZ+UmxChDYA== 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, Sep 26, 2024 at 11:43=E2=80=AFAM Johannes Weiner wrote: > > On Thu, Sep 26, 2024 at 05:29:30PM +0000, Sridhar, Kanchana P wrote: > > > > 3) Keep the approach in v7 where obj_cgroup_get/put is localized to > > > > zswap_store_page for both success and error conditions, and any > > > unwinding > > > > state in zswap_store will take care of dropping references obta= ined from > > > > prior successful writes (from this or prior invocations of zswa= p_store). > > > > > > I am also fine with doing that and doing the reference batching as a = follow up. > > > > I think so too! We could try and improve upon (3) with reference batchi= ng > > in a follow-up patch. > > Yeah, I agree. The percpu-refcounts are not that expensive, we should > be able to live with per-page ops for now. > > One thing you *can* do from the start is tryget a pool reference in > zswap_store(), to prevent the pools untimely demise while you work on > it, and then in zswap_store_page() you can do gets instead of trygets. > > You'd have to rename zswap_pool_get() to zswap_pool_tryget() (which is > probably for the best) and implement the trivial new zswap_pool_get(). Yeah I was actually planning to send a follow-up patch to do exactly that until we figure out proper patching for the refcounts. Even better if Kanchana incorporates it in the next version :)