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 64CE0C2BD09 for ; Mon, 24 Jun 2024 21:47:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C925C6B0368; Mon, 24 Jun 2024 17:47:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C42366B0369; Mon, 24 Jun 2024 17:47:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B09556B036A; Mon, 24 Jun 2024 17:47:11 -0400 (EDT) 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 93C4C6B0368 for ; Mon, 24 Jun 2024 17:47:11 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 40E831413D6 for ; Mon, 24 Jun 2024 21:47:11 +0000 (UTC) X-FDA: 82267118262.29.B8BDCD4 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by imf10.hostedemail.com (Postfix) with ESMTP id 6399FC0004 for ; Mon, 24 Jun 2024 21:47:09 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="X7/lhl9W"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719265617; a=rsa-sha256; cv=none; b=5DO0ppyq/8ww5f0ZAK1TdyOmvZ0gpnnaFxyu+TJItROk7qgCyW2bmqHs+o7sFZQSxub+Yl OIGj2dFhZlmasD6PdbTKpiVLUWVmzwZCvsqkxaYZ/PwZkvPPbBMnQwZ4kc7kl0vjJrStuA /6tSacykGxRUr4XJ2kFlxpNNkb0bak0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="X7/lhl9W"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.54 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=1719265617; 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=zpHFOryNWFijkyNTFyyhIbAri5hCaElrVf1pJKE/RaA=; b=dI9cXyqD4Wvvg8ZX1ODpZvix4GFvLI4YBe6XKjhBIGIXXNjUR/OXkbdIEix9lc6+EtvXYr ZXyj64hJOeD81mHLK4tAKVNaQillxE72rWDxrKmoObCgVBQkpEKz0i9M2oUGxffKgCxdga 61JNYTynQ4EZyZ+L7qfkZamEgPw5Ya8= Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-a724b9b34b0so191871266b.1 for ; Mon, 24 Jun 2024 14:47:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1719265628; x=1719870428; 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=zpHFOryNWFijkyNTFyyhIbAri5hCaElrVf1pJKE/RaA=; b=X7/lhl9WcTY6tiYh0ISaAzv1JzLZTVliFbyyYjfGS5GuZcoeZ05q4Rj6nbrYW1SLYP VPsBQeTfkxmkoxDnHPaRoEBFZ6tSCCODo1pjCyC3P5oKMXwXWZpMjtiQykU8PIUgrSF4 HxU0qlb5/6FceThRgMbhq9DTPkoQdmBTeqdwoR6g3EA9pdi4JYwR5tmVNDu8NYf0KPFX OwWZGze1UVW1Q+8oc3llj9txlxdAqvOXGPN6fgE8xzgcie5A31aE3B8yL9XloKXH3wIv UnTn7DTjlGr6nz9EFVTc9+9Twv7EHIpXjsyR8O5O8Yst+wFPf+XiIoWSpNalwD7zUqP9 2xcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719265628; x=1719870428; 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=zpHFOryNWFijkyNTFyyhIbAri5hCaElrVf1pJKE/RaA=; b=wgiCCFp2fKkCDtCowmtUz3KWvHlrI1CtqZDTi+d4VgVtKj8ZN2PBYH2dG5wkvPjKXH ddH/fSBoSRvc8mAAM9fnE8T1Gu3jYvahnJeGG95FJX4PYJY65/HoKbfUdiStJSHCPUYB BOLLoXNEVVrmQpJUtZwvrTVBOcZ2F5CPY9Ye4Q3iwiyUBlwCCzql2Usq/cvtQFHiRS2g SyODVXk0vc4CMc/huD5hGZEGqDdV3NmKDGZ/Va1SJCE8ZL5UNnNiUrAfPpgBnE60JIZd PE42UIjuhdYQbbLMr81zpIIrJ/orw0FO3wjbGmqWBAaPSrAti/lfhZ3baOzu4a9Q028v 4SJg== X-Forwarded-Encrypted: i=1; AJvYcCUmZcKgUYuBtO1Ok18HLilaVle7PVl3U1Ho5tjggr6Na0aXfcUC3nwyg3E/J339PMs3CFcytj97muSKqVgF216P0O8= X-Gm-Message-State: AOJu0YyjhSIGv4AghhfYhuiLcU/HmlqpI7ZLYgtpV+Rty6ItWsSM6C88 k5qkdpLdmosOAdTTObVYaAg3DKfwpm1y+QH7RcjU6zjXenDi++lx6ceX+FMCCeYz9OVqMuu3OhG TxueXIwoBdfdqYcx/lOCeTUfrtPcJVWoCwi76 X-Google-Smtp-Source: AGHT+IHfhIsQTn+36KvpTzSGdeSCdIpE31rK5PjUqd1FQKDYFZ2fswFe52Q+Vqr9RBc/Or+ypFOJY+v7hR2sCbTdb6M= X-Received: by 2002:a17:906:374b:b0:a6f:af58:efac with SMTP id a640c23a62f3a-a7245b8f348mr356555966b.25.1719265627320; Mon, 24 Jun 2024 14:47:07 -0700 (PDT) MIME-Version: 1.0 References: <20240621054658.1220796-1-alexs@kernel.org> In-Reply-To: <20240621054658.1220796-1-alexs@kernel.org> From: Yosry Ahmed Date: Mon, 24 Jun 2024 14:46:30 -0700 Message-ID: Subject: Re: [PATCH 00/15] add zpdesc memory descriptor for zswap.zpool To: alexs@kernel.org Cc: Vitaly Wool , Miaohe Lin , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, minchan@kernel.org, willy@infradead.org, senozhatsky@chromium.org, david@redhat.com, 42.hyeyoo@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 6399FC0004 X-Stat-Signature: fxp5ccab5joizzjx1eyy7nradawc9nd6 X-Rspam-User: X-HE-Tag: 1719265629-448307 X-HE-Meta: U2FsdGVkX18kD902zFrtX82vhfyj9CYO36CTU4lS/e2/nHIB0ityUelVRqjDcla56UvGar0Yb7ReM0VJGoDW+oaIE78aj4clvl9Ik6oE9thmYIG7AzN+jMqKL0L4dF/fBga9Mdsmx7FdR09B+vhYcbXtd+pV2iv0VrWvf9LZO5b03cPrNjfD8/A4Z9zXXzzaZNnrQmLeVISo/e7SLlQCJs3J0dlmXgCN0QZbQxsiPSXfjx2TugW6GgXSRyPV+F1V7tsutBtZSNz+MbmGlHxRCcpZP3Bmdt7o9w6xPhATEa7UZbw3yIcd1Ot0JQRE90xPhd4V33wYydgqDbPscACSyd2qcKA2WPRFpAOLMROAJN9g18c/PwI4r0ddN4LLgRjlTawhbuIH/VZEdJxK1/hAXWKrSVL7vGPYrlZZzJZE0ZOB/6J7Z5OCS5jA79bv46NkbMjbStDMks4sepdJAsLU4b5Ou6am+yMxuxP9Qm18LXhLc9o1ikqJIXF/m5PH/E2DNPIUOP+p1pXx8VzAP7m96+5mERsLRM+jyZAwT1lmT6UCdhJu8xikClU/4BBFVcX34CXH+yqubd4674MJAxmK92apVzG7+QigtVvW4E9gtK8liAppuMDGfMVk7e8OL3CIWGkrFJwqbXpDQHhczrvwrePabMnUOYoF1AkuX++4tRsHSNcizeJx6PlhohebEoO6oQgYp4SkVN23c3HFT8KEgD3fg014lBc2aYNBVoGCcalR8/TFBstR6FVS9+f6Bmnwlx+iElos+JuPd1BNpEVRlkkfVn1gyolKXUTWQU0tkWVtFshELgPZOV2DGOQJ6FImzb+45JQX8rUGlL9I1TUJOwkLiOyz+i87Hi6rqlCbZlTNOw+PdRd1iJfSl9FHvKRqidTN+lwQXzEu41vQ2+FPodNZ5oV90v9v+Kt5BdfvSqWHJIbxre/z8p0qIkOIOuw2qwjjAC3axiYmME8ywYR FmsQTFC+ tNSJ3e9VV6dKvE7g3CmTJLB+x5wBnCukNJ11edX90AIQJQUMRt476R+gY3F0h5Q4/ccFFed78Lb2l686HINoC4bhnM/0F8H+VxofyCZXGsLjr09nki/vgw/81gYWcHGX3Ll0obUVwyAGoI0CzAB21LRHG8XDqGZyvhwY2fL0Ps68/P/2HUYXCVk/wGxve4cayfWIDVN+yG8mE2DH8KJ+1R07CI2ZVVBZeRPK5GX+pWXhtcMv/N5bu6bNBeOdAFzyJ4yKE6rMaHdezyMUXkD1Jw6aiEZ/1xsEfS6Sm4SWeOUl6vVNzJqCsd3g4SmGnejaBUIiO1xUX3XMXTQS4GCrEBStwf1DCg1qzy+8zQ91ET6RY0xWZiUw+KImRiM5zURkvtgqj X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, 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, Jun 20, 2024 at 10:42=E2=80=AFPM wrote: > > From: Alex Shi > > According to Metthew's plan, the page descriptor will be replace by a 8 > bytes mem_desc on destination purpose. > https://lore.kernel.org/lkml/YvV1KTyzZ+Jrtj9x@casper.infradead.org/ > > Here is a implement on z3fold to replace page descriptor by zpdesc, > which is still overlay on struct page now. but it's a step move forward > above destination. > > To name the struct zpdesc instead of z3fold_desc, since there are 3 zpool > usages under zswap, zbud, z3fold, zsmalloc. It looks like we may extend t= he > zpdesc to zbud and zsmalloc, combined their usage into one. Please do not focus your development efforts on z3fold. We really want to deprecate/remove it, as well as zbud eventually. See [1]. For zsmalloc, there is already an ongoing effort to split zsdesc from struct page [2]. [1]https://lore.kernel.org/lkml/CAJD7tkbRF6od-2x_L8-A1QL3=3D2Ww13sCj4S3i4bN= ndqF+3+_Vg@mail.gmail.com/ [2]https://lore.kernel.org/lkml/20230713042037.980211-1-42.hyeyoo@gmail.com= / > > For zpdesc(page), z3fold just uses the 5th member zppage_flag, which > match with page.private. Potentially uses the first member flags for > headless PG_locked, list_head lru and page.mapping|PAGE_MAPPING_MOVABLE > for page migration. > > This patachset could save 26Kbyetes z3fold.o size, basely saving come > from the page to folio conversion. > > Thanks a lot! > Alex > > Alex Shi (15): > mm/z3fold: add zpdesc struct and helper and use them in > z3fold_page_isolate > mm/z3fold: use zpdesc in z3fold_page_migrate > mm/z3fold: use zpdesc in z3fold_page_putback > mm/z3fold: use zpdesc in get/put_z3fold_header funcs > mm/z3fold: use zpdesc in init_z3fold_page > mm/z3fold: use zpdesc in free_z3fold_page > mm/z3fold: convert page to zpdesc in __release_z3fold_page > mm/z3fold: use zpdesc free_pages_work > mm/z3fold: use zpdesc in z3fold_compact_page and do_compact_page > mm/z3fold: use zpdesc in __z3fold_alloc > mm/z3fold: use zpdesc in z3fold_alloc > mm/z3fold: use zpdesc in free_z3fold_page and z3fold_free > mm/z3fold: use zpdesc in z3fold_map/z3fold_unmap > mm/z3fold: introduce __zpdesc_set_movable > mm/z3fold: introduce __zpdesc_clear_movable > > mm/z3fold.c | 190 +++++++++++++++++++++++++++------------------------- > mm/zpdesc.h | 87 ++++++++++++++++++++++++ > 2 files changed, 184 insertions(+), 93 deletions(-) > create mode 100644 mm/zpdesc.h > > -- > 2.43.0 > >