From patchwork Thu Feb 6 07:20:51 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: 13962455 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 BF9FAC02198 for ; Thu, 6 Feb 2025 07:21:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E2642280003; Thu, 6 Feb 2025 02:21:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DB857280001; Thu, 6 Feb 2025 02:21:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C2376280003; Thu, 6 Feb 2025 02:21:11 -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 9C0E8280001 for ; Thu, 6 Feb 2025 02:21:11 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3930880F90 for ; Thu, 6 Feb 2025 07:21:11 +0000 (UTC) X-FDA: 83088673542.15.67A9BD8 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by imf07.hostedemail.com (Postfix) with ESMTP id 10BDD40002 for ; Thu, 6 Feb 2025 07:21:08 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=EzP5EKWK; spf=pass (imf07.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.8 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=1738826469; 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=m/dou/H2UkY9yXWnZnPSMkcDuvFpOgh8cWn8KY5n2nY=; b=AOULJk8QPK/jjGfSGv2WHxBR0ikDjHpI23N80S8GtkYNVJzNNWEcLSf2BSiR1yk+bn8ALj jzPUBS5DKnY+FbG2p7VnOvKu2kAxbkT6gUxqhoWVS6e8lLex4cdB1uKo2stRJ0mcW8EcXh /k5i0lCWmu571mFz5IkhByLG/HxmsLQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738826469; a=rsa-sha256; cv=none; b=O/VJT3W1rEe7TvxHUt8pXCPuLCKi5vBTRcOexS9vJ/CGbzETXevJXoLjnz2bHifj6iP27D YXqIh/6SgViOgtDDe5FMcaYQ5UbfCnjrLeJ6kVibEDB9v9Yx3k+9ggQIrKS1sfDUuDUJJz bLPobBEAkkg2oMtf8TgXUO74ACa2zv8= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=EzP5EKWK; spf=pass (imf07.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.8 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738826469; x=1770362469; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7tFXFDivua82eFBjtOF61mRcWq3imTHakYE6ae6fo/I=; b=EzP5EKWKs5dPsHY+KARfWgtyL3cm3wixPdWhMsmwLQ5uE22QzBq4uLKL jkCrWUoFsvXLIJsYdOc4KYusjxo/MxJaxcngtfFO7Bh3MZDU5ZmR2VHKy RlXYQ8nEbQiVdJXooqb6P56tfXUR6T7oDmLQo1rwjaOlNsvMo1WxM+C0w GFyESnQfb7OzQzgHWusnn1C+UbVbgHykPYhiFh3aD6FRXxDGX+CcUN7q1 QGP63ddd0svfpbsMEbrpU2wkOjGLrj6K7r5UJ1x+dQJwFNMoHkv0j9gCO fYAwOeiI/plY5ivX4x/2yPoFIxwSLdaxfLz+Ipy+XH7/OOWarEcJ4qnGJ A==; X-CSE-ConnectionGUID: 92bKSGpFR/KWKGGW61kGoA== X-CSE-MsgGUID: q+/oEi1SRl67H2u9vA8UQw== X-IronPort-AV: E=McAfee;i="6700,10204,11336"; a="56962606" X-IronPort-AV: E=Sophos;i="6.13,263,1732608000"; d="scan'208";a="56962606" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Feb 2025 23:21:04 -0800 X-CSE-ConnectionGUID: 6CGkxBTESVGUYwLAu6XXGg== X-CSE-MsgGUID: fgn9TkDzTSCQXltQ0Mf7rw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="112022607" Received: from jf5300-b11a338t.jf.intel.com ([10.242.51.115]) by orviesa008.jf.intel.com with ESMTP; 05 Feb 2025 23:21:04 -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, 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 v6 05/16] crypto: iaa - Enable async mode and make it the default. Date: Wed, 5 Feb 2025 23:20:51 -0800 Message-Id: <20250206072102.29045-6-kanchana.p.sridhar@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20250206072102.29045-1-kanchana.p.sridhar@intel.com> References: <20250206072102.29045-1-kanchana.p.sridhar@intel.com> MIME-Version: 1.0 X-Stat-Signature: 5xyehnx8xe7nprtsqf9onxfb7eyzrs95 X-Rspam-User: X-Rspamd-Queue-Id: 10BDD40002 X-Rspamd-Server: rspam03 X-HE-Tag: 1738826468-100528 X-HE-Meta: U2FsdGVkX1+AzOGnPji3jZfwW/tnSjRQ7ZrwEFFA1+Pq6RMQlFwI+sevMRMlKB2W3wVbf/Rg0rFoI1h9bXnMxcGiptvNLSysWzX1Tae3tYjitH4jxKkL+oILJonX+1coF97hQrJGFvhk3w+qv8p3GjlQCpGNFCXuv9KA7rV4xuW5DNUGwWQXvyiViVPKZNNjadcIofpnI9a+VmDRR122zwhInwnWpm5bkRKxBzcG2QNXRNQDd8eGQRQjiIATJYA+tgansx6vb5hhZcEt83Z6BsjFxbjTQ5vxaCBE4bki/TcwnFMOk4nec+PFeSvTqdZvHj5+MditPwicJOLaR2/FlnhlRmJCqnoeehtnLfQiwUZIp10NrUogcRpyS5BaWxZlJ6lH4xX35KWUlAhb83WtOsxnnAw4l4bd6svaIWiTCKRS25RS5Fbr3Zxzzn0KwQJt4W161CMzxUeM6rnTyz8nLD2AJ2JQC8sw3JyBDnGS6BE8igX4CgHEWBIlq40APhK7cSQV6wuFvdf1pkpITgXVhC0O3oa9781cZK9QIEO0otiE2MFkdWBGn+/8IFly0SrcSDfBa+Cc2PODU5yEagdCRavCMy31yLl5ixHxwZSgqW1BT0ww2eh9sLNyd5OeNKw/Swcqlt4zkD0qhZvSvbBuReaaEzBnFJZt8ywCkkbBldKdg8Yy67T49pcFfZ/P3hO/6elyhiRg+tS0LVeYxhfsrbzxKvRYrQelyku5N4RGDmLap4jjiPPVLVtDb3B74nZuh9BCFt3rAT1sj3XNvxs7n7p2ajsk/ljwB3+/B7q8GJdqCYmpFTGFQJR0eWRI6uQf473gS/Ae1XbXBJ3y2SgxD+oeZXI28et8juC+OLsO/UzOeLHHfmTZ54NUec/pw9mGP2MTfp1AVJsPcBix5O1NvL12jigernVEfpSbXyUMdt17Gv8mBlnvZcar18wNGLPXPBQ82aIh2PKR9aqP0iu JAz0LsGg jWX48r7SXT2aEGBkZtnapU8AgCw2T84SE++dqOz8uwV3vCvtdhmKBi0y4p1NE9I7/Gz7x298/PXHxv/L/XwGqYIsKd05tPgh0ZMwMvnMe38FLn84glQaGD8SrK2O1mE4rv9MH4Culd2bI97Cbf8IyU94C7Lo7D0HU33vd5H+G19ABuJ5M2z4fOfitNg== 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 61134a7ad1da..6d49f82165fe 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;