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 3AEBEE69E81 for ; Mon, 2 Dec 2024 19:15:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A74836B0085; Mon, 2 Dec 2024 14:15:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9FD696B0088; Mon, 2 Dec 2024 14:15:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8774C6B0089; Mon, 2 Dec 2024 14:15:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 65D806B0085 for ; Mon, 2 Dec 2024 14:15:47 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E10441402B8 for ; Mon, 2 Dec 2024 19:15:46 +0000 (UTC) X-FDA: 82850973114.21.AFA8BE2 Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) by imf27.hostedemail.com (Postfix) with ESMTP id 534F240011 for ; Mon, 2 Dec 2024 19:15:29 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IaU9Kagv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.49 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733166939; a=rsa-sha256; cv=none; b=rBNBNzZDt6D0JtH6xLM78BmezOlE+1MdoYdiEb9pfn03maq2gPeCdlcxX5xBzvit7FynXS i4FJ1Hwff+HL41IFE0oJos/Cm6BenM+WGDgSyjoVYO1Jt6cb+AlmCnV+O/piD3/IiV3Fbr WweYXihMeX3XlCz2/tJ9eKJ0HomHb4I= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IaU9Kagv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.49 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733166939; 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=8OMOD2rDakyh80oc7mNHohE/CVBfukWJ+S3JCKqTN3Y=; b=jgxJRbLJEiRODPkaBBJHgSbwgEDMU301CYRBy9UxjnCQnhzt3HsLzP2qfMMef5AxhlyY7+ HBifu/fSNgtCESzgw42UnQBNKpjuBkPeTLRuOeYtmNTPBWd9H0StBAM42G4mk+Um2HU1fE jhMnDoVcDyeLjOiiyWNUtsG22Af3tX8= Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-6d8a2d0588bso11575186d6.2 for ; Mon, 02 Dec 2024 11:15:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733166944; x=1733771744; 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=8OMOD2rDakyh80oc7mNHohE/CVBfukWJ+S3JCKqTN3Y=; b=IaU9Kagv9J/zcMOo04cBw3UOMTEKiBK1FK2e7KrJqBLRhc8oh1DVf8/YCsJk5KUhf2 BUGzGkLuJZsfgKdN550H5IqnP8Mj3lljNjj/c2pLeTRQZPhirHRq2B5gOxILFM2IFhg+ huIizS3laK8d5dA5eldelKIjcC4DbfbsRg463jb69osvRRe5G3M8IzpjBOH5MA28/qxp 4ABXDYkrbbtr8+hcQ/81Y5ZtQEOIAwq84zgBT/RL4EkaqI0kKzkDsTsExJPHkpIGSQOV G4LpEEiyMFAXLRy2U/ah1wPv5UJNDCgVqC11xiLM3DTkiOOndkAHLmNKDhI2TNccvp+N CGrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733166944; x=1733771744; 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=8OMOD2rDakyh80oc7mNHohE/CVBfukWJ+S3JCKqTN3Y=; b=D7SFSf81tehrhohX4A4elOXdZ6imWV5PyaQWiYurZ/GE4sB004mbBjpD9/wgNxj7Bt 7SkRWBIb1PMm0+vMI1DCLHhaBz93OygX051XPaYZhGbpv3ujFiHQ3UQgZW7dOWmhC1+8 fBIqOnrhUKQWoT/oe34pTa3LOIWKuIuB2Ugpj0bsirKeJ/hozLWL5CSZczfrfLFJtRrl eK7RAs0QS+52yOzM5gn2H6dQD8kpFm4rUqtYUYl8GqcMbcSHjGlHx0geKE0D7TgE/duo ylwXRntrE8Zeafl5n3MAxqZmR4PCs+EWLyw9rrVnvXDS3rR8NAua5RkJeNWvFf0Eho3Q 1aOw== X-Forwarded-Encrypted: i=1; AJvYcCUlVxcRDYAuP3KzCMNOFOoaKhrDr8zE8VgnFZ0dS7Q0mO5wZaJIzlzEbzWTsn3QKdJIOBgteQ4Lkw==@kvack.org X-Gm-Message-State: AOJu0Yx6Z6GeX67Z8z4DfOUlExZhLa91LDXhbN3E7JEgMRVB5RFJXO54 3BFnw/ARDW18TtyQ+RaMbhXadJ1gngrXNfmw39IvGnvlpAfZvbzh+tPKSMZaCeQji71OZstQ6ir UdAZNT2icqI93tX8FVg+M9tqjic0= X-Gm-Gg: ASbGncun5UFeN+epxc0uGKpmego+sEA+r8VCoRtNVdOj4UD+XWg0TIQfgQ+ny2H3V9G hJzSLXUF0mrX/vs7DVB+9+KGJkF5l1QEPVIqjcl3Y1DYvDus= X-Google-Smtp-Source: AGHT+IFtCNuf3VmVRwyPv6TRhZiJS92nc7GwpzeaIJ2TJEySVzQWw8rpn1quJVR+oU4wqwEGjyTvvHZ+Sss8mbPfUDg= X-Received: by 2002:a05:6214:2aac:b0:6d8:a967:8387 with SMTP id 6a1803df08f44-6d8a967859amr52741866d6.1.1733166943785; Mon, 02 Dec 2024 11:15:43 -0800 (PST) MIME-Version: 1.0 References: <20241123070127.332773-1-kanchana.p.sridhar@intel.com> <20241123070127.332773-10-kanchana.p.sridhar@intel.com> In-Reply-To: <20241123070127.332773-10-kanchana.p.sridhar@intel.com> From: Nhat Pham Date: Mon, 2 Dec 2024 11:15:33 -0800 Message-ID: Subject: Re: [PATCH v4 09/10] mm: zswap: Allocate pool batching resources if the crypto_alg supports batching. To: Kanchana P Sridhar Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, yosryahmed@google.com, chengming.zhou@linux.dev, usamaarif642@gmail.com, ryan.roberts@arm.com, ying.huang@intel.com, 21cnbao@gmail.com, akpm@linux-foundation.org, linux-crypto@vger.kernel.org, herbert@gondor.apana.org.au, davem@davemloft.net, clabbe@baylibre.com, ardb@kernel.org, ebiggers@google.com, surenb@google.com, kristen.c.accardi@intel.com, wajdi.k.feghali@intel.com, vinodh.gopal@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 534F240011 X-Stat-Signature: dtda9z8mdbpj5cbn7snish9a1d5obhia X-HE-Tag: 1733166929-701841 X-HE-Meta: U2FsdGVkX19yUUqap6qLZU42sXiG5G3dGgTi3mNMY13JYQMqtUJH9LU/TEZvbERZIlIg6bU7/JFtK+AXRCUTe0eX87mGgI0N4hjIskxEHIQUQZ7uIwyyPJAi0SLdXkCvETPsXafbUrxdW4NQmjDy+Caa8nYJa21EGsRIrbfL2AcNIVoskZp7cyYzV0IgdDjmc8cwORL7h3KKgskK/zDmRQ5zo0SebIsqOnETKqYfWf7+XKCQPeq/vwszggb/U5zTPOTOBtwGaGKiyua/T/4BzxHhgHBJM+HFeIIBobJ9bahbicJd813ICZ/PhuVXFCrpy6FxPxwR5M8vJ/pKnSEXNdQicibJ6SX6i5W9U3y8zQplulNs2GoishyLRaR83avJOmIefJMs8pyi4YEf+xXu35IgdoKWrPmra9g/euDOQ+hQwDHUAp5qGne/yLcSztOHPe6uDVHE8hLVra+qadCeqIwpxUgJuVsD/byRe+sAyvDO5bFZLTqV8Ntu4Z6cf2GqcIQHjl+FWVdmCrOKp0ihTWGJoH6U1nphFIy14osKe3fmiCMM6ECo1bnIJLTV8lgeadreS5R0WLnyV5CFM7SAu0OBallIUX6z57A6jr6MUajjDfOWczC0oYH4Dnt3n+HjagGjKLchpl+CT9k/0ghsxvDl8sRN5v0AeJ/Tdmqcs5R/o3f2I1qiyDCD/n9LNlYiv4xqtps8C38akLi9laOTl/iOgoCH5N9sxKKwrWEHZeG0ZncKjb6RP+zaDAp6i6Jnt5G/OxazLsbe81jY9Nm540yaQlu6KrJ7SEbqBiSwXG6fxpnNX5BAeW4coIl0BOyBCBDIagxe8wuvBX+92rAhljTrUU83IHqwUKT7L2htiBwOnvEbFGmDF09kMs+4LPVeC5RAbZFq6zH4tyRDYwczL6R7l5H32/6ocZv5gtxcj3TRnScosfEH2EtU/VF9C6Fty0GZLNqKtIo9gcY79AM 8OJh0fqo EyiR4NFQce1RpyFhJKMnbkFvAV+Jj7UkrUsrgEOPoaOm/3KQlHKwyjKao2isIye/d9Tn4yUYZqGUIWg8TWATPMR7ojGMfEzvFtMm0qzAhrhC+QoWrSDGgXED46qNKOev5lOBDpGspz9fSw82P/atDs4z/Ttj0c+U4+arJXnvEUBNi0Hzbt1L2wm8Jy6p/59iXmeHnJV15rXhYDV+YTw5uib4igau22XsFmRa2qYdcHCN4++drVYnH/nEWDmiId0wuKclg/vfSLRZldo64habstgnmK0dVBrgXYJDfDvhPyGv2GCYf+Re1mjvIZNbuseXGc0k5NItwnRI0v0rXOveBZalp6774grysWS7oppgLtozeGU10FI0npIcR4NvJ1FwnXKl4uCwWhMAFGVc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.013910, 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 Fri, Nov 22, 2024 at 11:01=E2=80=AFPM Kanchana P Sridhar wrote: > > This patch does the following: > > 1) Modifies the definition of "struct crypto_acomp_ctx" to represent a > configurable number of acomp_reqs and buffers. Adds a "nr_reqs" to > "struct crypto_acomp_ctx" to contain the nr of resources that will be > allocated in the cpu onlining code. > > 2) The zswap_cpu_comp_prepare() cpu onlining code will detect if the > crypto_acomp created for the pool (in other words, the zswap compressi= on > algorithm) has registered an implementation for batch_compress() and > batch_decompress(). If so, it will set "nr_reqs" to > SWAP_CRYPTO_BATCH_SIZE and allocate these many reqs/buffers, and set > the acomp_ctx->nr_reqs accordingly. If the crypto_acomp does not suppo= rt > batching, "nr_reqs" defaults to 1. > > 3) Adds a "bool can_batch" to "struct zswap_pool" that step (2) will set = to > true if the batching API are present for the crypto_acomp. Why do we need this "can_batch" field? IIUC, this can be determined from the compressor internal fields itself, no? acomp_has_async_batching(acomp); Is this just for convenience, or is this actually an expensive thing to com= pute? > > SWAP_CRYPTO_BATCH_SIZE is set to 8, which will be the IAA compress batchi= ng I like a sane default value as much as the next guy, but this seems a bit odd to me: 1. The placement of this constant/default value seems strange to me. This is a compressor-specific value no? Why are we enforcing this batching size at the zswap level, and uniformly at that? What if we introduce a new batch compression algorithm...? Or am I missing something, and this is a sane default for other compressors too? 2. Why is this value set to 8? Experimentation? Could you add some justification in documentation?