From patchwork Mon Mar 3 08:47:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sridhar, Kanchana P" X-Patchwork-Id: 13998349 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 82BB9C282C6 for ; Mon, 3 Mar 2025 08:47:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6F1EB280007; Mon, 3 Mar 2025 03:47:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 68666280008; Mon, 3 Mar 2025 03:47:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A2F7280007; Mon, 3 Mar 2025 03:47:38 -0500 (EST) 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 24268280002 for ; Mon, 3 Mar 2025 03:47:38 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D01C41C76A9 for ; Mon, 3 Mar 2025 08:47:37 +0000 (UTC) X-FDA: 83179611354.17.F57E965 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by imf21.hostedemail.com (Postfix) with ESMTP id 94B831C0008 for ; Mon, 3 Mar 2025 08:47:34 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=dfRKxpJh; spf=pass (imf21.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.14 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740991655; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2PQLRexpGdYT5Ec1XymA/Aac1BcRmmLQuyWuqoDnPs8=; b=MSD+IDat4U2AS1uemEU+ki0z4XHZha0vQvdXCfPBRc4p4kWsL+YaThI826zytQi9rgVII2 5RkEHFLFB0kGu0yWw6T+UwimO3WD/wsuPtQe94aJyn52E9vdlz7Awj9Ae+efoa91bhGY9K EFq9d7nwT1UBhnkGLtkIxVh8CYe7UaM= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=dfRKxpJh; spf=pass (imf21.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.14 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740991655; a=rsa-sha256; cv=none; b=kqOev2IkJ8pEVGDTs4WP2hNd2pNPN4y/MtewpqxvRgevomcl5quyuPX9KRWZMqLa/iZLIO R7gsCbdj71uokLIAS6kxuONa2OHga4zvydQc6tlXgvxxrIlwhQbbQ/os8ZXvnnar+nhPbA s2V7p7rdRI9GxA4ldNQgsbEglmi3KqM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1740991656; x=1772527656; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VRzCnyQyEfhyAHvAPp33ZwaL6nzqmuQ9xsZtH/mrvjQ=; b=dfRKxpJhYtj+ZlsbhTYYBUZMqLKY5asrp1XrqZCX5+OEG3ZIjc5Dgvki nVzbtE1DmSVlR7RCOQuc2PO94sWge8rEv5nGE+xP3suOndX4DJH+XdtIU BEclRj4BCiymEB0TSNYix/FCY7+kNaNR37IAvhFbAInryFpuWNi5iVD5J MY6LD9FdvuDpC3pK4Xk4so4R4KIrBPI5bTQX0D625sMuJpQta8zcoOKEt JDaIlN38IwF2HxN62w9gQuO4YwK3u6DEfeS7qhSjH/WKaPPbiASCLs2iN ZhDsjw1waCEWUvJI5gxKy6h47h1nchBGknQlEaj3Nw2ssD7VZhaAxKKnM Q==; X-CSE-ConnectionGUID: H+xXe8AgQOq3IqWTS5oagQ== X-CSE-MsgGUID: FvuD4nzwSyCCm4d3tAtw0Q== X-IronPort-AV: E=McAfee;i="6700,10204,11361"; a="42111910" X-IronPort-AV: E=Sophos;i="6.13,329,1732608000"; d="scan'208";a="42111910" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2025 00:47:31 -0800 X-CSE-ConnectionGUID: I9tMg+h6QkyIP7Qwr363mQ== X-CSE-MsgGUID: GycSSx/qQvS+RVjpX9aU/Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,329,1732608000"; d="scan'208";a="118426793" Received: from jf5300-b11a338t.jf.intel.com ([10.242.51.115]) by fmviesa010.fm.intel.com with ESMTP; 03 Mar 2025 00:47:30 -0800 From: Kanchana P Sridhar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, yosry.ahmed@linux.dev, nphamcs@gmail.com, chengming.zhou@linux.dev, usamaarif642@gmail.com, ryan.roberts@arm.com, 21cnbao@gmail.com, ying.huang@linux.alibaba.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 Cc: wajdi.k.feghali@intel.com, vinodh.gopal@intel.com, kanchana.p.sridhar@intel.com Subject: [PATCH v8 05/14] crypto: iaa - Enable async mode and make it the default. Date: Mon, 3 Mar 2025 00:47:15 -0800 Message-Id: <20250303084724.6490-6-kanchana.p.sridhar@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20250303084724.6490-1-kanchana.p.sridhar@intel.com> References: <20250303084724.6490-1-kanchana.p.sridhar@intel.com> MIME-Version: 1.0 X-Stat-Signature: dd3hcjmye3uru7r6hyc6b7jrpq86qchf X-Rspamd-Queue-Id: 94B831C0008 X-Rspamd-Server: rspam06 X-Rspam-User: X-HE-Tag: 1740991654-774090 X-HE-Meta: U2FsdGVkX1/hcDm20Y3D77XjUQVjb0dohjZ6Q06fQ5gXziU1zT/STRbnXmeuj3VSHMP+RaEJ2TJbncCFe7vjxxAnqbSdX1uWu6vLLlkcTrc146cJ7oMsVD6Q/XGWCXKrURcShYXKRYlelqYmEGgQ4Q7Cr8KKwRfbt2Tgqc3jqUmnLklqXSbAc/fKNZ99Dhv7XabOmKQjUaYuCUnRuyCy8fMaRE7C0+VZZO/NBizHMjQCvjFM1GgnRZOmOJihUVXjimZV5D2YBwb3ENybzUwUhDgbb6IwS6jLEUFp0zo/kMzdNnUfPrgCczswiW8HCBa4r/Pi4yoqCR5Xg2l3/L6pXhBWC730I0qj09DZgQNdTNP3koyyzYz7bYJYKc8+4bUqMgppJaptkkZBuzKuByZkaKlwYK6A7gRaQuT4KF9+92WuOcMWCRuJIut+irnMfoSQX8IasiVRNnri6qTHP+7J/IRRSzjw8GVBBfBlanfuygZ7+/+o3Au3zj+1a+l4xP7V7DPSSDv4UnLCSTtFcqHkBBD1DVVdXYBnOZf47ZhBqTNjaqkeQ8LKdSd6MNCdrniNP8drHkPX/P07JwZQr6FGyKNAjFmsj96Wf6KixI76Ku/sE76dxOWAXoFY4qZeOcT3ZSSRI9+eaBJbZJVeqaSztAjyfJsek2slQ4eM+9WVPO92s8UJPk11rdQKpVNzw6WqvKkRs5qtUSj5gpioxtC3SXybT6hxEAFM7qXQOj/7AhwQTUzxyMTBS8NLMqicqrAybnT8mkp39mlN3+hzULRwbajFbTaRETfWPh6c2H3l7kYCRipNir9BNyJxgx9WomUC4Ov3KsM0jv+80Usweun7U+xaKrM3ef4kWabVgSj8YOZQcrI1VYQB+aXo7ppI0sL0v0nqne+s4eDClj9ZaQr8V0i92fndr32D+QjU1+JBy0u5YA64jndxsEdD7AXJl3mfRzflvvRZVSggUpnLh8+ 53JfhCtD giTS0T0pYMtcoJ8SK6dVpWmn/FsvJNKxW1gipaW4qrseOYbSjnJBT96mwf3YO+xnbjNosRua8OLQOeChQ84dxxEAs4NRtguH3bTuq0ciDR1xsWXTe0rlrYKsaVoS8K/gQN4TGNymiMEo6JqrLbblAVo8PhvmZdhxLyYq+/jC5J+bi9nijchrAGV5M7w== 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: This patch enables the 'async' sync_mode in the driver. Further, it sets the default sync_mode to 'async', which makes it easier for IAA hardware acceleration in the iaa_crypto driver to be loaded by default in the most efficient/recommended 'async' mode for parallel compressions/decompressions, namely, asynchronous submission of descriptors, followed by polling for job completions with or without request chaining. Earlier, the "sync" mode used to be the default. This way, anyone who wants to use IAA for zswap/zram can do so after building the kernel, and without having to go through these steps to use async mode: 1) disable all the IAA device/wq bindings that happen at boot time 2) rmmod iaa_crypto 3) modprobe iaa_crypto 4) echo async > /sys/bus/dsa/drivers/crypto/sync_mode 5) re-run initialization of the IAA devices and wqs Signed-off-by: Kanchana P Sridhar --- Documentation/driver-api/crypto/iaa/iaa-crypto.rst | 11 ++--------- drivers/crypto/intel/iaa/iaa_crypto_main.c | 4 ++-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Documentation/driver-api/crypto/iaa/iaa-crypto.rst b/Documentation/driver-api/crypto/iaa/iaa-crypto.rst index 8e50b900d51c..782da5230fcd 100644 --- a/Documentation/driver-api/crypto/iaa/iaa-crypto.rst +++ b/Documentation/driver-api/crypto/iaa/iaa-crypto.rst @@ -272,7 +272,7 @@ The available attributes are: echo async_irq > /sys/bus/dsa/drivers/crypto/sync_mode Async mode without interrupts (caller must poll) can be enabled by - writing 'async' to it (please see Caveat):: + writing 'async' to it:: echo async > /sys/bus/dsa/drivers/crypto/sync_mode @@ -281,14 +281,7 @@ The available attributes are: echo sync > /sys/bus/dsa/drivers/crypto/sync_mode - The default mode is 'sync'. - - Caveat: since the only mechanism that iaa_crypto currently implements - for async polling without interrupts is via the 'sync' mode as - described earlier, writing 'async' to - '/sys/bus/dsa/drivers/crypto/sync_mode' will internally enable the - 'sync' mode. This is to ensure correct iaa_crypto behavior until true - async polling without interrupts is enabled in iaa_crypto. + The default mode is 'async'. .. _iaa_default_config: diff --git a/drivers/crypto/intel/iaa/iaa_crypto_main.c b/drivers/crypto/intel/iaa/iaa_crypto_main.c index a9800b8f3575..4dac4852c113 100644 --- a/drivers/crypto/intel/iaa/iaa_crypto_main.c +++ b/drivers/crypto/intel/iaa/iaa_crypto_main.c @@ -153,7 +153,7 @@ static DRIVER_ATTR_RW(verify_compress); */ /* Use async mode */ -static bool async_mode; +static bool async_mode = true; /* Use interrupts */ static bool use_irq; @@ -173,7 +173,7 @@ static int set_iaa_sync_mode(const char *name) async_mode = false; use_irq = false; } else if (sysfs_streq(name, "async")) { - async_mode = false; + async_mode = true; use_irq = false; } else if (sysfs_streq(name, "async_irq")) { async_mode = true;