Re: [PATCH 29/31] markers: Make static

Mathieu Desnoyers
2008-12-09T22:53:34Z

* Roel Kluin (roel.kluin@gmail.com) wrote:
> Sparse asked whether these could be static.
>

Yes, I guess they should. But beware that when using trace_mark_tp()
helper within tracepoint probes, the probe functions should *not* be
made static. Making them static would make the compiler thing that
nobody is actually using them, which is false, because they are used
through the declaration made in the marker section. So we should be very
careful when turning probe functions to "static" that an external
reference to that function will be seen.

trace_mark_tp() is the only "weird" case I have seen so far.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
> ---
> samples/markers/probe-example.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/samples/markers/probe-example.c b/samples/markers/probe-example.c
> index 2dfb3b3..d816aad 100644
> --- a/samples/markers/probe-example.c
> +++ b/samples/markers/probe-example.c
> @@ -20,7 +20,7 @@ struct probe_data {
> marker_probe_func *probe_func;
> };
>
> -void probe_subsystem_event(void *probe_data, void *call_data,
> +static void probe_subsystem_event(void *probe_data, void *call_data,
> const char *format, va_list *args)
> {
> /* Declare args */
> @@ -37,9 +37,9 @@ void probe_subsystem_event(void *probe_data, void *call_data,
> /* or count, check rights, serialize data in a buffer */
> }
>
> -atomic_t eventb_count = ATOMIC_INIT(0);
> +static atomic_t eventb_count = ATOMIC_INIT(0);
>
> -void probe_subsystem_eventb(void *probe_data, void *call_data,
> +static void probe_subsystem_eventb(void *probe_data, void *call_data,
> const char *format, va_list *args)
> {
> /* Increment counter */
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68