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 27589C19F32 for ; Wed, 5 Mar 2025 18:53:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DB62A280006; Wed, 5 Mar 2025 13:53:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D65EC280002; Wed, 5 Mar 2025 13:53:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C13AE280006; Wed, 5 Mar 2025 13:53:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9E15A280002 for ; Wed, 5 Mar 2025 13:53:55 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 05CB8120938 for ; Wed, 5 Mar 2025 17:35:33 +0000 (UTC) X-FDA: 83188199346.11.0A5BF30 Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) by imf02.hostedemail.com (Postfix) with ESMTP id E20DA80006 for ; Wed, 5 Mar 2025 17:35:30 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gNsFZ3ia; spf=pass (imf02.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.44 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741196130; 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=4YU5arGVoyN98aQkzfZ8DYAD7OwxEWSSdhhvoB0BPEQ=; b=dl5xn1rV8ooogo7+oK6wRCjWMhYSG7vI1IDWwd49fvcNd0HKLeGZnOaCF8ns8WdIyimLLI RJ4g0Qmew97lzKDtPwgUWvkkNit6YkZRS86s2QMnGr1zGzmzh3HiNSu8HoCNNB5Gvw2D+W WQgCOXN1005xiFy0p64WCmH431frrOU= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gNsFZ3ia; spf=pass (imf02.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.44 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741196130; a=rsa-sha256; cv=none; b=1csUtpHpkEoOETWQhR4sLtcpUDL/FCg0CVsBrcWaPpv8ys8Tq9EgyjBHeFkde5ocfSJJu0 YlxopluvhpoqLO6ftezTarBNc1q7kZBpLlhS8zqnuUbc8LvZ0HBAsNbjtdWxxjJusepNA5 X+wfEEK/FGlS6Y1KjIKbK3XilkyFLxA= Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-6e89959f631so55496926d6.3 for ; Wed, 05 Mar 2025 09:35:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741196130; x=1741800930; 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=4YU5arGVoyN98aQkzfZ8DYAD7OwxEWSSdhhvoB0BPEQ=; b=gNsFZ3iaLKmLbyeyDI0I4udQn4eDYI/+6jrM+XAYOXwsxV2ynppOP3ypU6ScZVB1az 4mH8kmjMufl3NGYcPlPZfD6ZQXgwlJB5wRhmMtjFRBNUe9ExOI51MeQNAlLefb7IQN2J KElGoa6FolkbbyPbfxvAqoj7cSAL2qA+64lCb9qPBFDHFTr2NB9Gvkb6rcqRM7k4Ktnu tShpIXRZGHcBc/Geyj/CaRlfXv/tm7HwUM5qbYc+RAp9v6f9ebqGqW22zy5DNFIO8c6+ ACthlcakIeiSYdOct0qgU1Us9pqRLeA9S0+hlwdKxaBI2W6u7+mMHlPB0fMfhJB1pwBU f51g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741196130; x=1741800930; 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=4YU5arGVoyN98aQkzfZ8DYAD7OwxEWSSdhhvoB0BPEQ=; b=pNM3iiJtxP0SZoIVv5HfGAIAMISZZD5sbJZCZ/xFK37UGmBl0nfvwX8EIA32g8Dkg/ hLL6fyZIq8zVKjWH7t4EBVx7JTFMT7Ysf0ZSHIPz8ZZ0QIJ/z0lVvpytVZ33IlRWmAUT LA4pry0jppHkhpG/ZzcFftgmnWe4kErJtFX3WNIfcCN+sp8mSndG/Y0pGbomb1Xk/E5g kRtdIRHs1o8v3NRGt7cpoBla6RP9P1+iQKcGroPoKVLUYM+cVM6bLNEQ1XPeso70qiJA qeQofDOOEWIDziIDMEeSr+ZUzhziR3HRgmQKNHNXdGKux6//mULxGj6ZmhQMJ6WFjW7i GqYA== X-Forwarded-Encrypted: i=1; AJvYcCXfzzs8ugZUDKYzwwq/2yGJfUnWXSlxIjJglABvpQTBDxG0qa02EgGVR6vRadzj0psSYAfBLVMXvA==@kvack.org X-Gm-Message-State: AOJu0Yzal8lWyvmN2Lw/5IcIxT+z4oCaYIQFtz1QIhiQbWlZpbvLfWIo n0pm/BDrB0hZ6IpfqpsJjuVVmWBN+ICmpyqX0/R01hwtuxBeDjqmdEpW7VvRUI02RexZMCQ5AwT gSY/mPjSu6SrjwqCLpI8Ev8y/yVU= X-Gm-Gg: ASbGnctN9eLDFzwAoTz2vxG/LbG9JPv6kfxl/XhvP/4HsLtvIH80lpokebg6+5MzL7n Fr1LaurWkctniwvBl+J+9C7xG+6bnhFEqY64oO8lZNILv0h3n9Gsrf1HpY6HZWxWe+E06Sd9PSK QZnVfdsP+VSKLV4f17nYlKUkGc2rsWwO4ELk+rg4OATRmRrdXWqlFvxaYg9Q== X-Google-Smtp-Source: AGHT+IGoyou1UM/EKvVtwG182FyP3LABmO+os1y10h5Qy06r4wnpS4vsxyQGfMRg16b84vLVME+ZCaLKofqMxgYTaUo= X-Received: by 2002:a05:6214:d0c:b0:6e6:5bda:a47b with SMTP id 6a1803df08f44-6e8e6d13e78mr59009566d6.9.1741196128398; Wed, 05 Mar 2025 09:35:28 -0800 (PST) MIME-Version: 1.0 References: <20250305061134.4105762-1-yosry.ahmed@linux.dev> <20250305061134.4105762-3-yosry.ahmed@linux.dev> In-Reply-To: <20250305061134.4105762-3-yosry.ahmed@linux.dev> From: Nhat Pham Date: Wed, 5 Mar 2025 09:35:16 -0800 X-Gm-Features: AQ5f1JpJccBQEJKHl-pNq80vDOB2AlzXXuelleyPiCpry_Pqmg7lz0mFztWrqeM Message-ID: Subject: Re: [PATCH mm-unstable 2/5] mm: zswap: Use object read/write APIs instead of object mapping APIs To: Yosry Ahmed Cc: Andrew Morton , Johannes Weiner , Chengming Zhou , Minchan Kim , Sergey Senozhatsky , Herbert Xu , Thomas Gleixner , Peter Zijlstra , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E20DA80006 X-Stat-Signature: eikq1s5whis9nugdt6fme1mjwrir1tf8 X-HE-Tag: 1741196130-956305 X-HE-Meta: U2FsdGVkX19Gj7nQOP04Om4oEOmI/y/ukmE36ZIZo909jT8b/BI8ljIBjyDQbR4SwMABnAINPQWlMoVMEaj09y15K5EPI3sjWWFUnX6JwpC1WDMfGcWuQf94nW/FKM1Urcp/08TMVNi4harmGcy7Uck3x1gwBY41oz7/0K93w8kwE6m6vwJKTpEGEK29/XH8ZaH91Ch/i4diqzGCppK1sJ33kqYObMWjtmqlPtU3xVGhI4ewTMWhTijMTmpWHZ934GlipmUzsH6lgrvdp93iVaV1qilu6RSQSwqSvPf/zPqiv/yrI6WTrbp3BhrmUTCMgTDiPwgDircaDRkzplPMJrVbuNhfR3OjpclrU4kMWevc8RJWxBUqX03s0wxgMa0jaHN3NGAus8DDt2xCRANlRjloteHODrVCZxtHH2/Qy3FzjfXtQx6X/mOh/v9ohBmYT6xzStu126FmFKiYr03zwnZ1oZCIysZVi6qqZHQW5VNFpfqzubOk2VNt9j/+TYkWkQ0G3RZun/Jyy+UyZAhxD18+ZSgnQlb8VkknoZ5tri7VGw0k0T2V18P18yPXKVY4QJhYquTPXsAQIV9ex8vGJoctWYsCa0G+QVTxAjQJuarTzvI6bs59j/tNT25Vs/pFGeBOUitp2anKHKXGgZO94wu2va5p7kcP31eiPhPTTig2fjqehMgFUBkfZeyTFFnyXmi2i+yOwKrE+xJDiPj7uvkJIjGr5Ow9J24//x0h0oYHw4LbG6VPpfG0kPo/PZIyBWZXMK/i6kn1Fd8G5WLjeGdEjsUhRK8O52melC3OWZmXYQgHu3/SobSATybE4G/zdTmG7scpLyCBM84B9wOonaydr8Kl/mlKEIWr/3JB/0cjUrTOYWk7xGQ9cQGQfkiuatzMHar4rZZl1zU0WIxYZ9XLF12c8Tj/tepTzsTxjukl1gamOQ3IHnycdBKpnoW6cvMk0RFCNQQWPwNbIhn c7FGxlCq Q61Cj5MATeo+yubeozTJNbtd+LZnDpk7jDiDG+XW+2o2/M6FsUqqtF6MCp1hOcXlI6/QgxQC+zkItUIaW1CjZ19QT52yWd5GeqMnobtBulLt5AIy8BisC9dzL+eqWUiVW+JSNYupTuMNrV3mSc4FrMumIant6UWIqPQ8MgvXO7J397zGZi8NBHB75fJ/JtBI3III27rnmG4XLdK//lqw/ssdTtlbgeYroATumkX7fh+7YczViLf0zPtDWoKjE6Ias1uwdXI4sh7KSim/J2RWr3iP4rYI4EbmGxIO5VTu/+0gS+ymMgLIn3kmpmrjNdhD89nCrTrlnk4N75FK1Pse0It/Kdg== 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 Tue, Mar 4, 2025 at 10:11=E2=80=AFPM Yosry Ahmed = wrote: > > Use the new object read/write APIs instead of mapping APIs. > > On compress side, zpool_obj_write() is more concise and provides exactly > what zswap needs to write the compressed object to the zpool, instead of > map->copy->unmap. > > On the decompress side, zpool_obj_read_begin() is sleepable, which > allows avoiding the memcpy() for zsmalloc and slightly simplifying the > code by: > - Avoiding checking if the zpool driver is sleepable, reducing special > cases and shrinking the huge comment. > - Having a single zpool_obj_read_end() call rather than multiple > conditional zpool_unmap_handle() calls. > > The !virt_addr_valid() case can be removed in the future if the crypto > API supports kmap addresses or by using kmap_to_page(), completely > eliminating the memcpy() path in zswap_decompress(). This a step toward > that. In that spirit, opportunistically make the comment more specific > about the kmap case instead of generic non-linear addresses. This is the > only case that needs to be handled in practice, and the generic comment > makes it seem like a bigger problem that it actually is. > > Signed-off-by: Yosry Ahmed Acked-by: Nhat Pham