Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp2985508iog; Mon, 20 Jun 2022 08:48:02 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tr8Z9ii+EmZsKMKQ3/0h8QM0+rUZ4arpwojFJrnOVHLPfVBGpeJhmKGsdS+LhfdC1VdtyM X-Received: by 2002:a17:906:7a5d:b0:722:cba4:53d5 with SMTP id i29-20020a1709067a5d00b00722cba453d5mr3532204ejo.472.1655740081635; Mon, 20 Jun 2022 08:48:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655740081; cv=none; d=google.com; s=arc-20160816; b=N7wN2+cSp3kgfyCqkVFfAd1q5uY2mH0/4gBEHlUZVpnYcjFXxd+0HLZeraqnNiLUyO n/G/B0ML6Tq/v2hfZJps8vE6oT8Di5RWvy57hxmT7l77rYb/w0plE7Dpdjs6zqKughsY YRqIdW+8dZx3yDKgwD9Yl/u+biTllzwJBcADCEkDwySD6loXXQEFGZJcfKwUgXX12iM6 NoG76dfXVZGWbtssC3Pb+p3SU0+zRk9/5ymDlRz+7HemeQ7F1k4VPAxAqRU2VPKl9vsN +6iCFq60HRj7xepaSjtwRTan1mXI/hdf6NBu0tTvC0zI9t4BJdpy/vXJNAQWE+/OY3An xHjg== 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=MQEthzefCG6Z/C7ZhSt6jz1UKOGSWnkyX5rEHx047Yk=; b=F1Bub0Zfol8A2GD8PH6jRCp9ql/Jx5acOSQGMhgFMbPecw6E1oVVVGnqIeHFAGSPD3 yOnNO1UvqHrfjbm8+5u8ECH56yWJvVPL0r7BT7UaqQ5fmmNa2iluZ9HAKwtQKZV0Bx/L x/5RSoRcx2oJMzZOyu/U0t1b0Wis52TzTFDyAmgsXTivPyXI+cZriOsg9thvvUvOc8HC +z1/liGlfZqZCWV8EOxuYHIK8r7AFbVTrvuLSH4UcFA9kQNZo3TXM1SQ834Z3bf9yKBS a54sSnKlV/umqkO2C2vSpPpGdspaWyDSBRtXmvAOYZNYhlT8ICuvGf68XliVPz/P9k4d DSWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nc33-20020a1709071c2100b006f4fe0c838bsi11381233ejc.270.2022.06.20.08.47.35; Mon, 20 Jun 2022 08:48:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S244185AbiFTPZR convert rfc822-to-8bit (ORCPT + 99 others); Mon, 20 Jun 2022 11:25:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52978 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243886AbiFTPYu (ORCPT ); Mon, 20 Jun 2022 11:24:50 -0400 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CC4472702 for ; Mon, 20 Jun 2022 08:21:56 -0700 (PDT) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-265-iuU6fljHOQqCeFZLSZgSgA-1; Mon, 20 Jun 2022 16:21:53 +0100 X-MC-Unique: iuU6fljHOQqCeFZLSZgSgA-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) by AcuMS.aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) with Microsoft SMTP Server (TLS) id 15.0.1497.36; Mon, 20 Jun 2022 16:21:51 +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.036; Mon, 20 Jun 2022 16:21:51 +0100 From: David Laight To: 'Kent Overstreet' CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "pmladek@suse.com" , "rostedt@goodmis.org" , "enozhatsky@chromium.org" , "linux@rasmusvillemoes.dk" , "willy@infradead.org" Subject: RE: [PATCH v4 00/34] Printbufs - new data structure for building strings Thread-Topic: [PATCH v4 00/34] Printbufs - new data structure for building strings Thread-Index: AQHYhD6oUJ9HZdIC7US1XHhH4yp3Qa1XsEIggAClXQCAABGg4A== Date: Mon, 20 Jun 2022 15:21:50 +0000 Message-ID: References: <20220620004233.3805-1-kent.overstreet@gmail.com> <0a5901f8460f452a89c9b0cda32fb833@AcuMS.aculab.com> <20220620150514.3tjy5dv7pv5frcwd@moria.home.lan> In-Reply-To: <20220620150514.3tjy5dv7pv5frcwd@moria.home.lan> 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 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kent Overstreet > Sent: 20 June 2022 16:07 > On Mon, Jun 20, 2022 at 04:19:31AM +0000, David Laight wrote: > > From: Kent Overstreet > > > Rasmus pointed out that -fno-strict-aliasing is going to cause gcc to generate > > > nasty code, and indeed it unfortunately does but according to worst case > > > scenario microbenchmarks it's not a problem for actual performance. > > > > Just copy some of the structure members to local variables > > and, if necessary, write them back at the end. > > You must not have read any of the code - half the point of this patch series is > implementing proper helpers for printing chars, strings of bytes, etc. and that > doesn't work if we're not using actual types. I'm talking about things like: out->buf[out->pos] = c; (or whatever the field names are.) Even without strict aliasing the compiler has to reread 'buf' and 'pos' every iteration. Of course, you might find the compiler decides to 'optimise' the loop to memcpy() or memset(). David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)