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 0DA58C3ABBE for ; Thu, 8 May 2025 19:42:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3E3D6B00AF; Thu, 8 May 2025 15:41:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ACAAF6B00B2; Thu, 8 May 2025 15:41:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 808576B00B0; Thu, 8 May 2025 15:41:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 421FF6B00B0 for ; Thu, 8 May 2025 15:41:48 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 60E6ABE2B8 for ; Thu, 8 May 2025 19:41:49 +0000 (UTC) X-FDA: 83420760738.15.1BA8151 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by imf01.hostedemail.com (Postfix) with ESMTP id 40E514000A for ; Thu, 8 May 2025 19:41:47 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=bdajPUtj; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf01.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746733307; a=rsa-sha256; cv=none; b=O+0/4cnjKhCG+2dzatdb6BIPIn8hjYrNN8aRG7CD/boXimKOeuqYylseGKoVnWTxSBd76b 60G+5gy2t7pPLDrPSTAnvRiKfXO+rmCAF+U1tQCeIISG1Wgm+JNC9sAfhiUvUDD8/wEgAc VgX0CYwhJtH3FzaWTsAHzmYwR+OmnJU= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=bdajPUtj; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf01.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746733307; 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=RZDd0pidI2IerqkLUDOkGLeCm1WXp0UShKDzRnofDj0=; b=fYHOx7TXdnoTuju/sCiYOzNFE2OP5wUeAi/uDDztiqDpDoiqpn9ad3bpABdNQfZwP1bJIx KzW412rgUVvySw6eJoIEIyEk4Bc0rtHlTwfNuaEQ9JORZ/xmq0ERSUTsWto0dkbwOE/ZJ5 eE2eb36o5ZLoNVZZyO7/gGrSrzZT67I= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1746733307; x=1778269307; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zk8J++ATRu4+E5dh9QqEjlY39chTwGmrGHh2DWD3/3c=; b=bdajPUtjpAdmPFTye55FIVnN7ORkWl0joq6s/7yudTlThkajhd3Sj9pQ VfqCtL2Wv/k6HrDjoCrTNo9LzhQbWW6hHGprLGQ7Nen/qo6vWPOTVdB2p GytiI3y4J+9axdhDnNqZufD3o+ZmTLGDLjk7g2qtpmV6TZV5EHGDPOwnY I74LJVP6O5ss4oDS5nWZU4CxqinonMvOM1o44lFyfG0avbtUnME/xt6lD dh08qkQXfLZv86nIJF81w1CNe4r1dwty0oHTSqyKY7YyYZXIuVjklWX54 xFAY1Y3rcUvEiD6pgjM2/KRxLlToPleq/m7IbG6TXi79Dk83WYhOpXLL6 A==; X-CSE-ConnectionGUID: gfEpMrtaSsyOrSI0+e6Y8w== X-CSE-MsgGUID: IE1O7OwAQlu+LA43cE4KXQ== X-IronPort-AV: E=McAfee;i="6700,10204,11427"; a="48454732" X-IronPort-AV: E=Sophos;i="6.15,273,1739865600"; d="scan'208";a="48454732" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2025 12:41:43 -0700 X-CSE-ConnectionGUID: tI5CF4s/RR2uTvPat/iG5Q== X-CSE-MsgGUID: wwdVPb4rQnyFdInDQ0eDQw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,273,1739865600"; d="scan'208";a="136880869" Received: from jf5300-b11a338t.jf.intel.com ([10.242.51.115]) by fmviesa010.fm.intel.com with ESMTP; 08 May 2025 12:41:42 -0700 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, senozhatsky@chromium.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, vinicius.gomes@intel.com Cc: wajdi.k.feghali@intel.com, vinodh.gopal@intel.com, kanchana.p.sridhar@intel.com Subject: [PATCH v9 12/19] crypto: iaa - Enable async mode and make it the default. Date: Thu, 8 May 2025 12:41:27 -0700 Message-Id: <20250508194134.28392-13-kanchana.p.sridhar@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20250508194134.28392-1-kanchana.p.sridhar@intel.com> References: <20250508194134.28392-1-kanchana.p.sridhar@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 40E514000A X-Stat-Signature: jgnbf7t9mgfyffhjarrh67cqkmnqp4w6 X-Rspam-User: X-HE-Tag: 1746733307-387679 X-HE-Meta: U2FsdGVkX19oSWm8MmLMWs4ICTchTM6x16J372ol6UIchRYHKrUCKx/rtjvEr63Q4cbBAnDjU78AqmZZ2STkcm/+sC8qUCcU7RJnP/lG9Ft4Pu1h1dOE3bJ8PeS8ldi/BCarYQOrPI4EOy51MAYYnuHnIfkiDoghxzqSHIFGj5bms1y+DnkZoQpthahuZ4mizLpIvIe8IaXhYDnhvy8LwHKQYgTJVLVFQrdx5YSsgJ2iHHEifFPVflWSOPJKJTA9FOjeuMXNGOs8e+Sby0w7BQ7BcSjlYR61CG2Ft65Fb9yEUJOnNea2OR1KHOFO3tt2eE8BwC6Gnsr6ev5MwMVUPTAxJFzmb/kHissHYvnQJlSNVEvspnL0CvV/ZavEPZ0WqeZIc4Rp0seLsWmA9wDodrITG541EIks2q6/6seMSeAcyPyctgZ1CwCLUmjo4AZ9otFx2SB/sV4l+Hp3qIZUZcKxoRBsyY5O/Q1nJRvXbc99HARcl/FynUHjqXh4MXgOV0ig9/TONOvSr/zqetZ5trxjXwIQkwx1on83LI9Vhb4MNwhu+CxbzwCqMn8mcdcIFpsihhPbzdGZWYTMFMiJWCzQj9+V9eQixOmEHPhGpyhWQbz5gH4Fr3/SiSI+RN7dV9rKYk8lyCZo19sreQ0VKekV63nWb+0VAEVghh+1S4SJnD9pM+GS9NAHzd4uPWtVbELf5pqwi6zrJIw021wtYqrE37srXgl3pPEvz02I7lyEsWavMoTljEiOI5yNdB4etRKBrCTdLDZ2sXd7djL3cmI4MyM841Ezb0czJNDAD1Jy54uBY1anldKTqJ3NR8nwtI5E7KAc3s2FkQDIZGIgSE5kvUBnk4MTi37dYBDXN8y7lMMXmtMBFDqyPPbqD7brdrcqML++OG/wi9XspI/LaUkrUf6xqKJa3ipXe2Sqj/9+j2wZcVjePev0SPi3HVn/X6ORVuqtwe9ugMBgh5V ZG8DhgBU VW6m5PzYGpfgmrJ7aFzFo1EveTkGCeSdJs+rDXCUJP6diYv5qZT9ya6qltkgtC5DrnHO6x6C66GuF6LPM//+2XzA8dAi+0CUvKkOFstR9UZxNi1tml1Xe49ZXc3zvYZ6xyJ2tTQCuZIw89G+UURfYThdx7KrPAhYX8oQApoBNYeZblq4PfONaz9oVNg== 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. Earlier, the "sync" mode used to be the default. The iaa_crypto driver documentation has been updated with these changes. 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 949bfa1ef624..8e0e98d50972 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'. - g_comp_wqs_per_iaa diff --git a/drivers/crypto/intel/iaa/iaa_crypto_main.c b/drivers/crypto/intel/iaa/iaa_crypto_main.c index d577f555d6ab..cfd4f5ead67b 100644 --- a/drivers/crypto/intel/iaa/iaa_crypto_main.c +++ b/drivers/crypto/intel/iaa/iaa_crypto_main.c @@ -115,7 +115,7 @@ static bool iaa_verify_compress = true; */ /* Use async mode */ -static bool async_mode; +static bool async_mode = true; /* Use interrupts */ static bool use_irq; @@ -169,7 +169,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; -- 2.27.0