On Mon, 26 Mar 2018 09:25:07 -0700 Alexei Starovoitov <ast@xxxxxx> wrote: > commit log of patch 6 states: > > "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." > > and in patch 7: > > +static void *__find_tp(struct tracepoint *tp, void *priv) > +{ > + char *name = priv; > + > + if (!strcmp(tp->name, name)) > + return tp; > + return NULL; > +} > ... > + struct tracepoint *tp; > ... > + tp = for_each_kernel_tracepoint(__find_tp, tp_name); > + if (!tp) > + return -ENOENT; > > still not obvious? Please just create a new function called tracepoint_find_by_name(), and use that. I don't see any benefit in using a for_each* function for such a simple routine. Not to mention, you then don't need to know the internals of a tracepoint in kernel/bpf/syscall.c. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html