Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4496180pxj; Tue, 22 Jun 2021 01:19:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdbiyONZcxasFPSbSIynlXKGHzKVBPYBinN67pyT518S3SdhD8t6Ul7A5HFfoYYckZb3lR X-Received: by 2002:a05:6602:702:: with SMTP id f2mr1847462iox.29.1624349999374; Tue, 22 Jun 2021 01:19:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624349999; cv=none; d=google.com; s=arc-20160816; b=vvQbPeLBUy6jI7zv+Sv1nAJZ+9EGmi2hASYf9mQy58S4MCa2XaQIayddqn+f0bLYVJ K+2JOhLWrXmqdpFnZWfQMAa/AUdrYuwfad7u/hBAzJapb2SK7WFJAgECo9krraVDCibp qo8e2P+EePZvs/RE1M5frONJdpLwiCWugMTq6PTGePQb+B+xRAa6gfLiGXMBzHpWjC91 YJGOf/IPLelWKjq0HQ166eVtaMeeelRvx84Ta2wAH7/14e8CQEhs+YC03qrxDgQf3F3l GI/a6Qhrk6VV16xole+LyS0xubwJ5Z8Jmth03Ys/Cdrp1l9pyNMBmlnKlbeqCggwsc64 AXsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from; bh=xMPlghG6vXhf0DdtOwpfcCjl/qa7VpySZ7t7PMd+RfE=; b=jwXNvbM8q8kTziNtnzu2HGxa5Zow4qTDEYSqDuE8NpQTJKPFfVEStIhNidQiR5FS6/ uh1BUbQMj6o1H3X0Jfvj6PqvJJALe1FNxDIBqnhNl6YFO7qukJNPUykHRCp5zBHnGa0e IKLmMP+8kYS5j+DpP71ClaoEW5cSVv6imor4/hzeqasSFuz1dg/On0uckRl6j3mBQ9CZ M0pnUsqzfuG69U0znC7KefrssR16fh3CgZ1DBAdfc28cFLXaXWLsnTGzoFU4tSAgyOpi xBuAM2vMDu5RvhyzC5F9fHphJ/hcQBpFj6dgRoiaqlhKm2LkRKAsu39SdV/VihpfGB6X EuPQ== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i15si9681172jaq.17.2021.06.22.01.19.47; Tue, 22 Jun 2021 01:19:59 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229628AbhFVIVe convert rfc822-to-8bit (ORCPT + 99 others); Tue, 22 Jun 2021 04:21:34 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([185.58.85.151]:46906 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229807AbhFVIVd (ORCPT ); Tue, 22 Jun 2021 04:21:33 -0400 Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-282-wLA-a1MnNfeOyAoMKIhy9g-1; Tue, 22 Jun 2021 09:19:14 +0100 X-MC-Unique: wLA-a1MnNfeOyAoMKIhy9g-1 Received: from AcuMS.Aculab.com (10.202.163.4) by AcuMS.aculab.com (10.202.163.4) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 22 Jun 2021 09:19:13 +0100 Received: from AcuMS.Aculab.com ([fe80::994c:f5c2:35d6:9b65]) by AcuMS.aculab.com ([fe80::994c:f5c2:35d6:9b65%12]) with mapi id 15.00.1497.018; Tue, 22 Jun 2021 09:19:13 +0100 From: David Laight To: 'Christoph Hellwig' , Matteo Croce CC: "linux-riscv@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-arch@vger.kernel.org" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Atish Patra , "Emil Renner Berthing" , Akira Tsukamoto , "Drew Fustini" , Bin Meng , Guo Ren Subject: RE: [PATCH v3 1/3] riscv: optimized memcpy Thread-Topic: [PATCH v3 1/3] riscv: optimized memcpy Thread-Index: AQHXZqmHnPZVnMdu5kGR4HMAzUIzKqsfrz9Q Date: Tue, 22 Jun 2021 08:19:13 +0000 Message-ID: <17bb90eef20145cd9cca1b8e72a514ad@AcuMS.aculab.com> References: <20210617152754.17960-1-mcroce@linux.microsoft.com> <20210617152754.17960-2-mcroce@linux.microsoft.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Christoph Hellwig > Sent: 21 June 2021 15:27 ... > > + for (next = s.ulong[0]; count >= bytes_long + mask; count -= bytes_long) { > > Please avoid the pointlessly overlong line. And (just as a matter of > personal preference) I find for loop that don't actually use a single > iterator rather confusing. Wjy not simply: > > next = s.ulong[0]; > while (count >= bytes_long + mask) { > ... > count -= bytes_long; > } My fist attack on long 'for' statements is just to move the initialisation to the previous line. Then make sure there is nothing in the comparison that needs to be calculated every iteration. I suspect you can subtract 'mask' from 'count'. Giving: count -= mask; next = s.ulong[0]; for (;; count > bytes_long; count -= bytes_long) { Next is to shorten the variable names! David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)