From mboxrd@z Thu Jan 1 00:00:00 1970 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=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 6A669C48BE5 for ; Tue, 22 Jun 2021 08:19:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4C2166128C for ; Tue, 22 Jun 2021 08:19:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230122AbhFVIVe convert rfc822-to-8bit (ORCPT ); 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)