Re: [PATCH v5 bpf-next 06/10] tracepoint: compute num_args at build time
From: Alexei Starovoitov <hidden>
Date: 2018-03-26 15:44:38
Also in:
linux-api
On 3/26/18 8:14 AM, Mathieu Desnoyers wrote:
----- On Mar 26, 2018, at 11:02 AM, rostedt rostedt@goodmis.org wrote:quoted
On Fri, 23 Mar 2018 19:30:34 -0700 Alexei Starovoitov [off-list ref] wrote:quoted
From: Alexei Starovoitov <ast@kernel.org> add fancy macro to compute number of arguments passed into tracepoint at compile time and store it as part of 'struct tracepoint'. The number is necessary to check safety of bpf program access that is coming in subsequent patch. for_each_tracepoint_range() api has no users inside the kernel. Make it more useful with ability to stop for_each() loop depending via callback return value. In such form it's used in subsequent patch.I believe this is used by LTTng.Indeed, and by SystemTAP as well. What justifies the need to stop mid-iteration ? A less intrusive alternative would be to use the "priv" data pointer to keep state telling further calls to return immediately. Does performance of iteration over tracepoints really matter here so much that stopping iteration immediately is worth it ?
I'm sure both you and Steven are not serious when you object to _in-tree_ change to for_each_kernel_tracepoint() that affects _out-of_tree_ modules? Just change your module to 'return NULL' instead of plain 'return'.