Thread (22 messages) 22 messages, 7 authors, 2020-11-18

Re: [PATCH] tracepoint: Do not fail unregistering a probe due to memory allocation

From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: 2020-11-17 23:08:22
Also in: bpf, lkml

----- On Nov 17, 2020, at 5:16 PM, rostedt rostedt@goodmis.org wrote:
On Tue, 17 Nov 2020 16:22:23 -0500 (EST)
Mathieu Desnoyers [off-list ref] wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help