----- On Nov 17, 2020, at 5:16 PM, rostedt rost...@goodmis.org wrote:

> On Tue, 17 Nov 2020 16:22:23 -0500 (EST)
> Mathieu Desnoyers <mathieu.desnoy...@efficios.com> wrote:
> 
>> If we don't call the stub, then there is no point in having the stub at
>> all, and we should just compare to a constant value, e.g. 0x1UL. As far
>> as I can recall, comparing with a small immediate constant is more efficient
>> than comparing with a loaded value on many architectures.
> 
> Why 0x1UL, and not just set it to NULL.
> 
>               do {                                                    \
>                       it_func = (it_func_ptr)->func;                  \
>                       __data = (it_func_ptr)->data;                   \
>                       if (likely(it_func))                            \
>                               ((void(*)(void *, proto))(it_func))(__data, 
> args); \
>               } while ((++it_func_ptr)->func);

Because of this end-of-loop condition ^
which is also testing for a NULL func. So if we reach a stub, we end up stopping
iteration and not firing the following tracepoint probes.

Thanks,

Mathieu

> 
> 
> -- Steve

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

Reply via email to