From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Desnoyers Subject: Re: [PATCH v7 bpf-next 06/10] tracepoint: compute num_args at build time Date: Wed, 28 Mar 2018 15:22:24 -0400 (EDT) Message-ID: <842190155.225.1522264944386.JavaMail.zimbra@efficios.com> References: <20180328021105.4061744-1-ast@fb.com> <20180328130407.7476cf17@gandalf.local.home> <20180328133830.3d5d74d3@gandalf.local.home> <80d7af37-10ef-28d7-f03f-27b4b5849cd1@fb.com> <20180328141045.1202afeb@gandalf.local.home> <20180328145431.687643bc@gandalf.local.home> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Alexei Starovoitov , "David S. Miller" , Daniel Borkmann , Linus Torvalds , Peter Zijlstra , netdev , kernel-team , linux-api , Josh Poimboeuf To: rostedt Return-path: Received: from mail.efficios.com ([167.114.142.138]:40326 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752416AbeC1TW0 (ORCPT ); Wed, 28 Mar 2018 15:22:26 -0400 In-Reply-To: <20180328145431.687643bc@gandalf.local.home> Sender: netdev-owner@vger.kernel.org List-ID: ----- On Mar 28, 2018, at 2:54 PM, rostedt rostedt@goodmis.org wrote: > On Wed, 28 Mar 2018 11:19:34 -0700 > Alexei Starovoitov wrote: > >> On 3/28/18 11:10 AM, Steven Rostedt wrote: >> > On Wed, 28 Mar 2018 11:03:24 -0700 >> > Alexei Starovoitov wrote: >> > >> >> I can live with this overhead if Mathieu insists, >> >> but I prefer to keep it in 'struct tracepoint'. >> >> >> >> Thoughts? >> > >> > I'm fine with keeping it as is. We could probably use it for future >> > enhancements in perf and ftrace. >> > >> > Perhaps, we should just add a: >> > >> > #ifdef CONFIG_BPF_EVENTS >> > >> > Around the use cases of num_args. >> >> it sounds like a good idea, but implementation wise >> it will be ifdef CONFIG_BPF_EVENTS around u32 num_args; >> in struct tracepoint and similar double definition of >> DEFINE_TRACE_FN. One that uses num_args to init >> struct tracepoint and one that doesn't ? >> Feels like serious uglification of already macros heavy code. >> Also what it will address? > > 32bit bloat ;-) > > But I agree, it's not worth uglifying it. > > -- Steve > > > cache hot/cold argument clearly doesn't apply. In the current situation I'm fine with adding this extra field to struct tracepoint. However, we should keep in mind to move all non-required cache-cold fields to a separate section at some point. Clearly just this single field won't make a difference due to other fields and padding. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com