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 92350CDE031 for ; Thu, 26 Sep 2024 18:43:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD9226B009B; Thu, 26 Sep 2024 14:43:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D88896B009C; Thu, 26 Sep 2024 14:43:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C500C6B009D; Thu, 26 Sep 2024 14:43:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A13996B009B for ; Thu, 26 Sep 2024 14:43:12 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 55B7EA01E9 for ; Thu, 26 Sep 2024 18:43:12 +0000 (UTC) X-FDA: 82607761824.15.1578904 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) by imf12.hostedemail.com (Postfix) with ESMTP id 3F6604000B for ; Thu, 26 Sep 2024 18:43:10 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=vEByGOgh; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf12.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.171 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727376154; a=rsa-sha256; cv=none; b=l0L7dKJ2dilFHqMjf9oYsgHjiqCmSnKRb2+9eJTAj1HY2u2TDr0twraBUy0RJ0s8y/J2hv cP4A4rCee3mt74vnSXACKLaybaKrnldvPcDjYwlWp813rGTsTLfBpsxuXmP5BDglASNuIY myR4QbKuTW/8liewfaWERIw/FahVlZg= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=vEByGOgh; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf12.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.171 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727376154; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=XWABK7jevZz6PaZEJkjW9C/kJozsqZzz0c8Gpnqfp4o=; b=gUd6gCCJnAtA2mcFhWeab+DY3apb2iQSkofE/oN/gPv3no1kBv3JcUDECIX2TrMHq1bvDs +toCDl53EWmpIiwXMfpUTOSrrMaUNoLcWx7MnAFoV3r/jRumqPTQfQHnn5GuLFdddq4w6p er6zCZT9OcOvlErs9N+klu0kTS4m+AI= Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7a9acc6f22dso112374685a.0 for ; Thu, 26 Sep 2024 11:43:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1727376189; x=1727980989; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=XWABK7jevZz6PaZEJkjW9C/kJozsqZzz0c8Gpnqfp4o=; b=vEByGOghZSJinsWqzXtDT4VktuMqa8MeBNpBdDv+2VkZJ8Y9rFK3QMuoGlpgOT1Kzj MuHGhgC4Fi/BkAHIKFnNktHtkTu+E/GL5v7gGJWbAZkpLq1Ob3rek0R17nMdvSf+BsoB 6yKbeIWEFGxctudZVDFnGwysKOalUVZBHWeXljF6/SPVgJJ6QLD/9dne4FcnT6zulIyY KBySzqo4KE35tigWwDqG1/Ka0oqhVn1GfIUlXL+9LcxjXgZgRX9ZCQaHVEmxV2y5p7zp kYRLdZx05+7HDUdbZHw9UGc75Cp9XJHWShE/z+AvYwGcDvZXuV6PVLHG7gWgxix13JK3 UXNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727376189; x=1727980989; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XWABK7jevZz6PaZEJkjW9C/kJozsqZzz0c8Gpnqfp4o=; b=UrJDj2Af8ngnIg1QlWXeXLuduxmZvE9DAzBWlKN01cbf+8IUXxsG3x1FksUw664/hI nKF6D8uEZiq/3B1eFnHkgF/Y+RTLMEVMGcJ6D/Jr1hgmsse1h3I96AmFPaKYrg3oEn/+ 86XzkUPeRhPGP36mDYAlcFiANmeC9hmzlw/FhgBWPMOMtyE/yBWYa+GQ0HTz4nLAmLVL Lvi8FP/Otu+mI8I1O1td+8HvkjtoiQW2uZCS65lduupa76MdyJYG1SV3rlK4ailF3ZE6 q3lpTNGuJwGJOvCm5sb7by6xzzs8D3E9wuNuUcrO9LgnyW5BTqhz6o43iISK0irCbSef 0k0w== X-Forwarded-Encrypted: i=1; AJvYcCUmyhe5D8FAK86iJUyRaGt78/LwLAtnZwZi8zsVXgIFvkK1Y/OTGH3KiM62bSskOtv5AyGtbxtKrg==@kvack.org X-Gm-Message-State: AOJu0YwTzywAHdyggL/xvw5qzZznEgV1LguF1cu+YJxIgH/y533QfIkO 3H8JiVKhoSAf6T82ZnfgFKXh2j1G2LNrWmzo5Eof6TzMouiboAfEWo+E2pof8gc= X-Google-Smtp-Source: AGHT+IHlDIyeTzt5qrb/mt8UJBp4ewh+Zi6tjiab4F3KqBIB1hz93JrCVMgux1Kls/nP3C6CgkJDFw== X-Received: by 2002:a05:620a:2956:b0:7a9:c146:a9e9 with SMTP id af79cd13be357-7ae3783b6d1mr78752785a.15.1727376189046; Thu, 26 Sep 2024 11:43:09 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-45c9f2f5e89sm1346751cf.55.2024.09.26.11.43.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Sep 2024 11:43:07 -0700 (PDT) Date: Thu, 26 Sep 2024 14:43:01 -0400 From: Johannes Weiner To: "Sridhar, Kanchana P" Cc: Yosry Ahmed , "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" Subject: Re: [PATCH v7 6/8] mm: zswap: Support mTHP swapout in zswap_store(). Message-ID: <20240926184301.GA883850@cmpxchg.org> References: <20240925192006.GB876370@cmpxchg.org> <20240925201323.GA880690@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Queue-Id: 3F6604000B X-Rspamd-Server: rspam01 X-Stat-Signature: yfjmutqn49dij9uxyij3inndu9hoz6y9 X-HE-Tag: 1727376190-405081 X-HE-Meta: U2FsdGVkX1+2f4aEVyuiBo1CUJ57DWgHtJSS59crR88txtxDauYLVVJXnHFDWgfpqmkKA0rWvlhowEO/254hunYZzhdjpMzLHFMT5UeYUmWsMa+FqEzqnhE2KeCixvMvHKMhEUBenJXrvYGeV3QTAOLChFRb3MwK6MTFgSTkpMDDw62CVvj2d3m+3GJhvP1ujkjyuy7/RTtiRdbC26NMuyBHk54d+VFSzPZr380kyPhY3vzpmaIQGzUVQiMAiha66ROB+se9iTYU9VhcRJb8Rg1XRnuXQ7QWjBGbseOzP9tnKxJIdoVGszEfZNd4RYVQuIzI/6LBDzHGLRcjUEAFNLwihF92zqCuB8B0y9N3OSt7CjnL6wiOkxbZhRxH3YC9C0sldnTMpZDwEFm4gRq1qVub8iWZWqgSweEvAKs3RplzdMQmwA/V1JZp+SdIRVS4Q8kOyauqqVJ73dFcgPxWImzuYefiyeIcyfiCHYwgMCF+cTa8uNOLDYXCf0+JkGo+9FuwbZDh/jbe/edd7lb7asmsCT5vBQp8MTjd5dHVO8+c1guQV5lOTHav6FLMdgOpsLwenm9L90b5nGJFCsB0pHy7c5q3NsnIaRM6NlkiS4CZqR/qKHLvbBX6fPRG/1RzyDcPZhvGaRp257SBV6NQSc48MNRe1Yziw59UzdwH7mGia9PbsSS/an4YzGIJbJ5YZ6x86QIoNoe4h81xuJj5br3DyemYEEyXPYQ9ACGmdkXatSUb0LAYz+LB5syY1GK2KJQ7gKIYxi4/L55TlYP+T66Y5qRXY1Lx6GtWpXUIE8EXEDCXUbjo410hJz0HpmijKyDyOB2t7LGKDGkzsKpjUJgOFjGHldFlzSdvUpuqqqy59NbYlQWTdXt2XTeCxT8vhIOklB5poJ9+LFPut9Yx4yROaN8KRjmb/j6VGv3B7I37pdADnRt7VafQel1DSxQBqlR3k7gJZL1S3+lQ7x4 vsABCeDs 1+0c5WpjGFG46WYAP+XdpsqLKcCPK9tI3+tLBRkCBRwLHgDb/eyR9VrRXv6/GuTDeXPsBFHNRLEununJmg0HEM/5g0KBACXIV5bJ83eW+lDTxS/58wxchstK1h5Bu5wLunfdbo0iefEuesWAWWlIarSCFCWV7IMwYVAyWqW6Q0eX89oGgLeV86LyI4uyGe0mh0he0fBAsH06t/cOhwzjmxZsc1Dmb7GfjWJwEHFZVwkRC95BGW+rPu9lrcX1IkM6fmgtJQCEugvQi3WYGEOGwzKLgjOte8VU2bkB/jLtfUMUcEgxFHto2lOxFg0zcEq3wDzxpbjWyGn0+7vZiIJdH8GieZsiHWXPvOZhObayf5oE8iKVRTNjVqVgKOGF/zWWrhJQOAEBWJDQ+K+3UEGijuYy1+P5etVHVffIcfB3WXIMWOZ5bQ14sXQsckkj5g/Ssm0pMOdle2svJk9asBlKxV6dVevQHcFqveESd2IuPplipzjdqrX93Cy1sI16l37Sni6g7RJxPTSxmNu6WzW2uuz3zJOcDn08aDG3r6hlg5ZR0iyg= 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 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 obtained from > > > prior successful writes (from this or prior invocations of zswap_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 batching > 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().