From patchwork Fri Aug 27 07:03:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 12461319 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16D2EC432BE for ; Fri, 27 Aug 2021 07:06:49 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D797960F92 for ; Fri, 27 Aug 2021 07:06:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D797960F92 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=5yND2zF69xVa0a0+6yQo093prpsZKlKR2lLqU6rtbAs=; b=Pe83ZmhFCOTRKb MlrDtpHuPhuYv3UDlBZ2PO4rqUs3ZO/lHS2E40ZkBj/1LlyuFc3B4rzV0gGkh8YdY0BgzaoIQM8ai c7FlGJYzhoL8CRfnlDR2Tt0o0rWZpAbyEECYLTAU2XTnrD+5slgMSG6LgfdIzaqLv5PBsqw6o2zyI 379VWhCpNO5VW+4S8KspXwsbBTrhhXOjKPuSIKqwknnY3n5a74uw/4fIxejlVi+Y0hHJ86ePvOdHR /5YiUJYBXvRCkQzi6lMsJIO4pTs7lVjDEpC05zwwz6M/pCKS4oCVc0ZaYAlwiRqR/BUGss1nDDath jEqGK2o8+95UMCFt+4kA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mJVu4-00BkDW-0l; Fri, 27 Aug 2021 07:03:52 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mJVtz-00BkCa-Bu for linux-arm-kernel@lists.infradead.org; Fri, 27 Aug 2021 07:03:48 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id DDFF860FD8; Fri, 27 Aug 2021 07:03:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1630047827; bh=u/CCoGP7rHcmiVsjQodakbOckmEN6EDWj5s8SDKFUe8=; h=From:To:Cc:Subject:Date:From; b=c+WRQMGGjVogelzvUKpWsDbD2RfGaowNVXzd+s2r3aiNwtk6rzluFJjnhXXZ/qCKI 9Hkv6dhSsCDNCs7WuVKLsk01GAqxN8wsnCYk/nhMFbNY/S07UxRx1txcCs1jRhelZM VbNJrsmUlbW28urtM5bsrxtI2Jl6Rf5icC+MmIPC59mMb5/TV5//CiscwqgPBYOYeq q0C197ZOgow+L5j686xh2LmXgaWScFli3DytObEkUu48YBI0CxYzfEk2jeHRz0Nxs5 oCvs3AI05S/qp3opM3mam9s6Rif/V74wP/4D0kXnAPM3usM6wkVw1q9fbIZgFFdGTh odaezDGSjvMLQ== From: Ard Biesheuvel To: linux-crypto@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, herbert@gondor.apana.org.au, ebiggers@kernel.org, Ard Biesheuvel Subject: [PATCH v7 0/7] running kernel mode SIMD with softirqs disabled Date: Fri, 27 Aug 2021 09:03:35 +0200 Message-Id: <20210827070342.218276-1-ardb@kernel.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210827_000347_467466_4509D0A7 X-CRM114-Status: GOOD ( 11.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This is a follow-up to [0], but given that the arm64 architectural pieces have been merged for arm64, the only remaining changes are crypto specific. Therefore, the audience has been reduced to those people who are somewhat more likely to care about these specifics. The AEAD and skcipher APIs may only be called from task or softirq context. This permits the arm64 AEAD and skcipher code to get rid of all scalar fallbacks, given that on this architecture, softirqs are now no longer served while the SIMD unit is being used in kernel mode, which means that the scalar fallbacks are never needed. These are removed in this series. Changes since v6: - add patch to yield the NEON every 4k of input when processing the AAD - add some more acks from Eric Changes since v5: - add Eric's R-b to patches #1 to #3 - split CCM changes into 3 separate patches Changes since v4: - drop skcipher_walk layer change to deal with zero sized walks - drop aead/skcipher layer sanity checks on invocations from hardirq context - add patch to clean up CCM a bit more after removing the SIMD code path Changes since v3: - clarify the nature of the issue addressed by patch #1, and apply the same fix to the skcipher walker - update patches #2 and #3 so that the failures can be observed by the crypto stats code [0] https://lore.kernel.org/linux-arm-kernel/20210302090118.30666-1-ardb@kernel.org/ Ard Biesheuvel (7): crypto: arm64/gcm-aes-ce - remove non-SIMD fallback path crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers crypto: arm64/aes-ce - stop using SIMD helper for skciphers crypto: arm64/aes-ccm - yield NEON when processing auth-only data crypto: arm64/aes-ccm - remove non-SIMD fallback path crypto: arm64/aes-ccm - reduce NEON begin/end calls for common case crypto: arm64/aes-ccm - avoid by-ref argument for ce_aes_ccm_auth_data arch/arm64/crypto/Kconfig | 6 - arch/arm64/crypto/aes-ce-ccm-core.S | 24 +-- arch/arm64/crypto/aes-ce-ccm-glue.c | 203 ++++++------------- arch/arm64/crypto/aes-glue.c | 102 ++-------- arch/arm64/crypto/aes-neonbs-glue.c | 122 +----------- arch/arm64/crypto/ghash-ce-glue.c | 209 +++++--------------- 6 files changed, 148 insertions(+), 518 deletions(-)