Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1064900ybz; Wed, 22 Apr 2020 12:53:45 -0700 (PDT) X-Google-Smtp-Source: APiQypIWoK1eIUiDzqAK5dAaFwh4BC4IMlqA1TeNOJ/KXfVlB1tUBPXJT3iSnYMkMjU9CVokdelB X-Received: by 2002:a50:e3cb:: with SMTP id c11mr224467edm.105.1587585225655; Wed, 22 Apr 2020 12:53:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587585225; cv=none; d=google.com; s=arc-20160816; b=pLc+3rH5S78cUSj7ew7fCbtKuwKksl4Md7BD7DSbz5SmrOFYOGyd1QN9A0nZexnDeg tLJI7V7my02+dxPib7qiQYYcW9DfDA0qgzqVrUcbbgRUkqIawmp+0UyNefGN/YMvDvnt N3Z0TPykC3j4Ml65QWFqNo3S9RZsUdsAepYD0gwPdMQTGYVETeVfAvM1qxiN0PVL/KOv 9dhX/4OVcWR4cjoHYEdZ8QFYBbD1HU70qdE87Vh6eybvBpyuXfEhbQGvma5kf0MHuY69 Yj79Lhtg6f9cPnTlL7QYIkGGBDd92oeQp6mHuwYVJIlW+wQRxncZPhcshn9xkaxGDBrC /kdg== 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=4QmOl3hJ9aLRa9VWdJQCTe0h8lYdNpaJqRyj/crxBXM=; b=PE71usQgPku7VFJpSJoxwPwLKh8Mu36xwMCr1GdC9naa11tHTHzhoTovppYfzDweMY JlutKJ2a4zbtHDzeU7wSLnsGD5EtgVKL7zRq9yT7A+c3Sa9JfaJ8oYSRZGCdzy7krpHK 1tIOXLpF3T+tkWZqYGhW94rKXW/fgGrEYKUp3X21Lkp93vxuapCFvrXLy+ViU7MJ8aQ7 yR6prku0hDXQs/jTtwpOocw4Go8npZ6lvarMdx/MFsq9l6UoiPR1NqgA92WodG1Sm0wf d9cN1E4hm7a4vdq7GxJkn0N9XZgtJ+WaCGEiJz2Y9K/M2drHqfrhM8BvMCwGTQaTyuZD rbaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@zx2c4.com header.s=mail header.b=DzWXWEmo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zx2c4.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cm13si91617edb.48.2020.04.22.12.53.22; Wed, 22 Apr 2020 12:53:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@zx2c4.com header.s=mail header.b=DzWXWEmo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zx2c4.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726722AbgDVTv0 (ORCPT + 99 others); Wed, 22 Apr 2020 15:51:26 -0400 Received: from mail.zx2c4.com ([192.95.5.64]:47849 "EHLO mail.zx2c4.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726079AbgDVTv0 (ORCPT ); Wed, 22 Apr 2020 15:51:26 -0400 Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTP id a798252e; Wed, 22 Apr 2020 19:40:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=zx2c4.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; s=mail; bh=tmNupWC70NVGm/tMVbvc7BFrrNg=; b=DzWXWE moKbxT7kjSO08amgUpAFwUCd+I29Xq42tkce5oHehqFmvv3OtG2iDqwhD87Hk/fy lnaR4ogzAX3vs8vsPtenLuJdGKq7vaguTB7NXIg6gggvKdY+Q0MmrcM/4KIljv4G QqkNjF1rfv6FWHSnNZsb2MDURDcn2Y3rXKvp0nJP4iArJRraxYr1PgMBRXeHScGM dyxOklSEfb5gxX2sm0QJUkEwd/aSne6kWssDx8FnGi6fRfYvNGByiJsPJ/YPMG1e KxeiSkCbEcoCcIKTcW5gqSpoDT7Zf5rCquYmaHLh2XcFkRrisYobUXYFdun6hxSt AoNlTA9VHZs9Y/Mw== Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id b459a4ef (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 22 Apr 2020 19:40:29 +0000 (UTC) Received: by mail-io1-f42.google.com with SMTP id p10so3795070ioh.7; Wed, 22 Apr 2020 12:51:23 -0700 (PDT) X-Gm-Message-State: AGi0PuYpmIw2uRbFSOnabvdtT0EbLa2IY4ZoHfcWM9b5iS/lfBPh232r VYq1WAczqSraJ8ihIgcF53pJ2dxLi+rYeAa7Bwo= X-Received: by 2002:a05:6602:21d3:: with SMTP id c19mr391548ioc.29.1587585082737; Wed, 22 Apr 2020 12:51:22 -0700 (PDT) MIME-Version: 1.0 References: <20200420075711.2385190-1-Jason@zx2c4.com> <20200422040415.GA2881@sol.localdomain> In-Reply-To: From: "Jason A. Donenfeld" Date: Wed, 22 Apr 2020 13:51:11 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH crypto-stable] crypto: arch/lib - limit simd usage to PAGE_SIZE chunks To: Ard Biesheuvel Cc: Eric Biggers , Herbert Xu , Linux Crypto Mailing List , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 22, 2020 at 1:39 AM Ard Biesheuvel wrote: > > 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. Okay, will do-while it up for v2.