Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp427110ybz; Wed, 22 Apr 2020 00:40:20 -0700 (PDT) X-Google-Smtp-Source: APiQypI49BaILz2ErN/H4Me0XxGiXFDaW69kulhQ7aI2q6NOGO1zupgl4n8kO95Arzx6JQskcl8k X-Received: by 2002:a05:6402:1506:: with SMTP id f6mr22030999edw.217.1587541220587; Wed, 22 Apr 2020 00:40:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587541220; cv=none; d=google.com; s=arc-20160816; b=oBJCsuJVGURzlOqDPev0afkda5BUSABn169IgSwe1P0KSf/YVkYRkWpC7NyY27JcT7 tn1SHUtuz1Tp6a8Z3u1ffOwYXJHCBaGoPATveJ3A6rT2GhtJwKsRUcVZK4WrvuP/f6wR MI19EfT2FE899UUNw59Pwag65KTukkKIx8GURXuW8hBtJCUVITbyUDqr9tpJtJutO8wa I3jEJZv+TKV3lplz8idHdi+oJngmn6sYRSJmhKjfunHOutnDPn0u1MmSDwP6tMAhvERo +Z5JDrPJF4wbJKzTDU3VMX1TJeaXXFD5oDGPO5HuwkCnc19CWnYCKQMsVwRBVd+1NgQj i7UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=qbma43d59xlt4O9GJ/ZvyA1keHRcMIF+uQO6tt0h0aA=; b=MORxwjyJ7kdwuQuHAa/FzVhxOPLods7lTuitZwcblEQ2d7A14AX7eV0+Q7ceKCqL0g FlCm5KSYN4o2MvsbcSR8N86fLgW6r7XAaxnwpnWnNgSpm8QsT6VMQdAekEqni5rmvJNd 7RWy4zf+3V4ypP0Xl3zBKwHKXr85V8rm5pIGFVxNRzqi6fgxmyxQLSILxSzrl17vk6gD O1l32ujX9fhXjDhpxFqMZcOqiiBXGg7TVD62ulLtddjffr0DfM2FyprKJfJjH/9/+HiO g3nvxtcTvNp+MvybVz3V2Nno7q7MN7I8xphIf7UEI8OHuXaSiT8SRhpKzyjgKtBbQ7Tt 7OqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xdLaHAs4; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 95si3355956edq.375.2020.04.22.00.39.56; Wed, 22 Apr 2020 00:40:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xdLaHAs4; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726576AbgDVHjc (ORCPT + 99 others); Wed, 22 Apr 2020 03:39:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:60084 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726523AbgDVHjc (ORCPT ); Wed, 22 Apr 2020 03:39:32 -0400 Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 62E93206A2; Wed, 22 Apr 2020 07:39:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587541171; bh=RnDWO7dM9txe51VHGs0QOaPAEq5owpW0a53Byz4Aryg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=xdLaHAs4ifiovQ8cW9ySsd/SFz/w+PrIrbKhZxCqsVRwP5UCLCbNf4P9lh8AUroot G0wDca7ZKtVUu4GoRM/QsyDH5gNgA2rqn178igYJSEAF1DvagLLZn04fsq7tSXejHK fpMahL8DQaVY9m3ATQFwqa6/STDJHDmgok6EtmEI= Received: by mail-io1-f48.google.com with SMTP id e9so1297397iok.9; Wed, 22 Apr 2020 00:39:31 -0700 (PDT) X-Gm-Message-State: AGi0PuYJUL673sXcLZdw+1BHonfqviPtd9fUFVZMB2t7gVrzeTkWux8z Q4J8E67X7DjBd4hj9okOV6ZBbaQa6FB4Q6njNtg= X-Received: by 2002:a02:7785:: with SMTP id g127mr23633017jac.134.1587541170836; Wed, 22 Apr 2020 00:39:30 -0700 (PDT) MIME-Version: 1.0 References: <20200420075711.2385190-1-Jason@zx2c4.com> <20200422040415.GA2881@sol.localdomain> In-Reply-To: From: Ard Biesheuvel Date: Wed, 22 Apr 2020 09:39:19 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH crypto-stable] crypto: arch/lib - limit simd usage to PAGE_SIZE chunks To: "Jason A. Donenfeld" Cc: Eric Biggers , Herbert Xu , Linux Crypto Mailing List , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Wed, 22 Apr 2020 at 09:32, Jason A. Donenfeld wrote: > > On Tue, Apr 21, 2020 at 10:04 PM Eric Biggers wrote: > > Seems this should just be a 'while' loop? > > > > while (bytes) { > > unsigned int todo = min_t(unsigned int, PAGE_SIZE, bytes); > > > > kernel_neon_begin(); > > chacha_doneon(state, dst, src, todo, nrounds); > > kernel_neon_end(); > > > > bytes -= todo; > > src += todo; > > dst += todo; > > } > > The for(;;) is how it's done elsewhere in the kernel (that this patch > doesn't touch), because then we can break out of the loop before > having to increment src and dst unnecessarily. Likely a pointless > optimization as probably the compiler can figure out how to avoid > that. But maybe it can't. If you have a strong preference, I can > reactor everything to use `while (bytes)`, but if you don't care, > let's keep this as-is. Opinion? > Since we're bikeshedding, I'd prefer 'do { } while (bytes);' here, given that bytes is guaranteed to be non-zero before we enter the loop. But in any case, I'd prefer avoiding for(;;) or while(1) where we can.