From patchwork Sat Aug 4 18:46:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 143448 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp1543481ljj; Sat, 4 Aug 2018 11:46:33 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdOC/I1WqPvFIHKIZdSAqmCfrK8ShsNmi8m/VXK+HDjsIhyMckCbzkvzuGOkgfvKwYumkdc X-Received: by 2002:a63:1b49:: with SMTP id b9-v6mr8436928pgm.72.1533408393790; Sat, 04 Aug 2018 11:46:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533408393; cv=none; d=google.com; s=arc-20160816; b=p21t0CqQAAdzNlCgvmStYR2cLitUoGpy5oA8CZzmgsuuUu3OG78jKJyQs4z9SdLZPe mba8Mlkd8vpwcYm9rnRC5lRALkIFu2ZrfOJL+Lzeo4/rRvgX6QcCPxSQ3UFJqxNhvm7i GXboATmIPu3BbXlSI6NWQu85Gkimzmnvjrr0reNFsrKhGkdfwmVdQAafsGN2a86FmKRH 7Tbq5HxPA8D9gRzvtxeS25yxA5I2ANxoVyfaq9n99Z5sr2/EjLfmO60kMTBjeaVCrOgS xcsXYOWmwZ6PUb/jASMYcMMtFRJcUvtSshK776LmV8QS3nHX4YIilBbyAN7RPXb4s8xg Kj2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=JVwOAUfH/4i/DSGaPmcmrQT/sB484xJo9wca6iRqdj8=; b=iyFljIH9nOLEenYIdl0kpzL74e7au7HWM4UQzc9l421WGjuOxNs4q/B121hf3DKvUr M+YAOQ2/YOJJIJ0OZnQvqZoKyFadbyYn2wWy3pUry5BVfI4sQ87JhfDTeg7kPNuvmTeh CozAj9hx3VJydFI5rtGnFfC0KaeBIqvqCLeag21dY+XveslVlJy+WAxNQY87EzFhTiL6 2dP132ZEsvYz5U6OMjFLPijkhb16RjCs71CDlyvprVL2/t10GjzO4iyu36RX9VntEc14 QL/0OKBiK9gK2gGB68paS8TDPIl2gramwsksv4omic1t8rmtx3Fh1t/d7um+MWfyFCo0 laNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Efj1DXt8; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p65-v6si8667183pga.401.2018.08.04.11.46.33; Sat, 04 Aug 2018 11:46:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Efj1DXt8; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728172AbeHDUsH (ORCPT + 1 other); Sat, 4 Aug 2018 16:48:07 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:45344 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728067AbeHDUsH (ORCPT ); Sat, 4 Aug 2018 16:48:07 -0400 Received: by mail-ed1-f68.google.com with SMTP id s16-v6so3289126edq.12 for ; Sat, 04 Aug 2018 11:46:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=JVwOAUfH/4i/DSGaPmcmrQT/sB484xJo9wca6iRqdj8=; b=Efj1DXt83PE1dG8bimk2P/jHVUxJxe/a7DEe7MuXiJlx+1DTd6laR/5CuGAaC4//BU g7j/5Rr2XCxQBqCxEc/y3ZPeCqgHjPo4+mI9GUvQT1M0VOtcDZBQ1yMm5Oi+MBA5IxfW txUc7QxeNMhAg6CmYNl+wH1nSnXhqQaRjhJQI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=JVwOAUfH/4i/DSGaPmcmrQT/sB484xJo9wca6iRqdj8=; b=PtXxPapxlArZB8LVA+y03UfOlmOvRpO1mZ2vQyhYTImnXTqJn/wHwRwskO1+Dq29eN qLu33+LoilfxfX+WQQSKPgS/J4Du9NLZyuAo7BAc6qRtwUPOa/5x/Sp3o1sfwlTX4ejS atpBL0oX86ULGZP2eIApHFwqiNRVXUWuh2RvWiEg22lWMPtueyB3YIQG3R3iAaojy4sZ +zPc6nfHbpVpKOxoeq5NBKiK37tcb3YWdQXM3aktwiKeugJuDAAmlGxZM86mXSorZKkC NBxWuJWZ0nfdD2/UNbAYPn5tu8WuuBq1SaNODbm6V0SDSJRnxSTzhOOgQSu9ipO8RXf8 O4nA== X-Gm-Message-State: AOUpUlFh60fVdAec+JEVjnIh+Y2uVd2QaFq4G3ydD2gg8R1RmNxKD1PO 3h3H+lvvzcWGcA9XkgbPFvcv3jbJPXg= X-Received: by 2002:a50:ae62:: with SMTP id c89-v6mr11779838edd.257.1533408390508; Sat, 04 Aug 2018 11:46:30 -0700 (PDT) Received: from rev02.home (b80182.upc-b.chello.nl. [212.83.80.182]) by smtp.gmail.com with ESMTPSA id l30-v6sm4340504edc.70.2018.08.04.11.46.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 04 Aug 2018 11:46:29 -0700 (PDT) From: Ard Biesheuvel To: linux-crypto@vger.kernel.org Cc: herbert@gondor.apana.org.au, linux-arm-kernel@lists.infradead.org, jerome.forissier@linaro.org, jens.wiklander@linaro.org, Ard Biesheuvel Subject: [PATCH 0/2] crypto: arm64/ghash-ce - performance improvements Date: Sat, 4 Aug 2018 20:46:23 +0200 Message-Id: <20180804184625.28523-1-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.18.0 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Another bit of performance work on the GHASH driver: this time it is not the combined AES/GCM algorithm but the bare GHASH driver that gets updated. Even though ARM cores that implement the polynomical multiplication instructions that these routines depend on are guaranteed to also support the AES instructions, and can thus use the AES/GCM driver, there could be reasons to use the accelerated GHASH in isolation, e.g., with another symmetric blockcipher, with a faster h/w accelerator, or potentially with an accelerator that does not expose the AES key to the OS. The resulting code runs at 1.1 cycles per byte on Cortex-A53 (down from 2.4 cycles per byte) Ard Biesheuvel (2): crypto: arm64/ghash-ce - replace NEON yield check with block limit crypto: arm64/ghash-ce - implement 4-way aggregation arch/arm64/crypto/ghash-ce-core.S | 153 ++++++++++++++------ arch/arm64/crypto/ghash-ce-glue.c | 87 ++++++----- 2 files changed, 161 insertions(+), 79 deletions(-) -- 2.18.0