Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp4671829rwb; Tue, 8 Aug 2023 11:53:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFhlbaaZ7Pljx7BzZGlfu8Tn3OfLSf3qxnH31nD78TqF9j0C016V1CovRXO22nnzaMiPjLI X-Received: by 2002:a17:906:3150:b0:970:71c:df58 with SMTP id e16-20020a170906315000b00970071cdf58mr358420eje.42.1691520787376; Tue, 08 Aug 2023 11:53:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691520787; cv=none; d=google.com; s=arc-20160816; b=U5T3J+0XCmmh5YkXQZ4Loxqa3butRsJidYdV8SQViQvnkLPljeGlCiuT1O5Vm+TC+Z e67A2qak7VlpyIS+/gqE4cwj+llI/iHljk+znphCjeEBk2Pg5PUOPWGPtA2oyjSBwg/0 aCT/Q+uVB3rMMW98LOTt+Z1ZnY3u0bLU2mHhLQorEp0L+HvF58OuSY2a0CUWBZoHbqVJ DqXh8CqOe13AIBuhivWKwNYrKxagOMUF2+XYgEbxZYcFaH+aMGIEWWhOsoMWbOV9V+/F 35JE2ObG9NH5yVyTfdAmzosnrq9DvN8V04N0CtF2qMhVuC5i6TYnrWc1qJIFHVvcv9bm y+nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=DN8jaXd3Ab6m4geZg15BX0ZwGuJTCQqNVcMGMWUM/BU=; fh=HHOxFvNAY/sRwBv85R3+8vnCx7lB3AQqy6zyOspRuJ0=; b=TUQtoxpk3rOBUvihE+zmqPNFbYQVtxiB2/SQBN3mNKFSdOqQQ6E5igyawDIQPYS5OU V6WLGXLrQtJzEeOjh9kEu1WVw9iicKcTiItd8RpLbLjENsGTAxOX0KT1FRoRA69F1IHF ZKR7hCZMs1/7Omn+EZ9Q1zLHqWcARbnwdzdMk2GPrXWCgrzUV9aJzbAFd3etMY8nDBHu 1wMjdlSfCxPSoMFQwyt+RzQb3RPu8X4YSALJbKENf9YMC5AWTsvUTP/NbavG3yzgBOk4 t/8zQalCPPYdHMb4dDZBoXG+f3231MnXghFCTaMiy0T+f7urPfMqOfKeke0q6/e/9lie gWIw== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xa21-20020a170907b9d500b009930f844671si7603250ejc.963.2023.08.08.11.52.42; Tue, 08 Aug 2023 11:53:07 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235573AbjHHSTt (ORCPT + 99 others); Tue, 8 Aug 2023 14:19:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46660 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235546AbjHHSTS (ORCPT ); Tue, 8 Aug 2023 14:19:18 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FC9620995 for ; Tue, 8 Aug 2023 10:27:29 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2FC3F628BA for ; Tue, 8 Aug 2023 17:27:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48670C433C8; Tue, 8 Aug 2023 17:27:28 +0000 (UTC) Date: Tue, 8 Aug 2023 13:27:26 -0400 From: Steven Rostedt To: Sven Schnelle Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH] tracing/synthetic: use union instead of casts Message-ID: <20230808132726.08cabfbc@gandalf.local.home> In-Reply-To: <20230808142148.2652883-1-svens@linux.ibm.com> References: <20230808142148.2652883-1-svens@linux.ibm.com> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS 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 On Tue, 8 Aug 2023 16:21:48 +0200 Sven Schnelle wrote: > +struct trace_dynamic { > + union { > + u8 as_u8; > + u16 as_u16; > + u32 as_u32; > + u64 as_u64; > + struct { > +#ifdef CONFIG_CPU_BIG_ENDIAN > + u16 offset; > + u16 len; > +#else > + u16 len; > + u16 offset; > +#endif > + }; > + }; > +}; > + The "dynamic" I was using wasn't about the fields were dynamic (union), but because the field the offset/len combo represents is of dynamic size. It's used all over the trace_events code. I would have in include/linux/trace_events.h (right above struct trace_entry): /* Used to find the offset and length of dynamic fields in trace events */ struct trace_dynamic_info { #ifdef CONFIG_CPU_BIG_ENDIAN u16 offset; u16 len; #else u16 len; u16 offset; #endif }; And then it kernel/trace/trace.h: union trace_synthetic_field { u8 as_u8; u16 as_u16; u32 as_u32; u64 as_u64; struct trace_dynamic_info as_dynamic; }; I could work on the part of the trace_dynamic_info if you want. -- Steve