[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190419092823.094a6061@gandalf.local.home>
Date: Fri, 19 Apr 2019 09:28:23 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Josh Poimboeuf <jpoimboe@...hat.com>, x86@...nel.org,
Andy Lutomirski <luto@...nel.org>,
Alexander Potapenko <glider@...gle.com>,
Alexey Dobriyan <adobriyan@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Pekka Enberg <penberg@...nel.org>, linux-mm@...ck.org,
David Rientjes <rientjes@...gle.com>,
Christoph Lameter <cl@...ux.com>,
Catalin Marinas <catalin.marinas@....com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
kasan-dev@...glegroups.com,
Mike Rapoport <rppt@...ux.vnet.ibm.com>,
Akinobu Mita <akinobu.mita@...il.com>,
iommu@...ts.linux-foundation.org,
Robin Murphy <robin.murphy@....com>,
Christoph Hellwig <hch@....de>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Johannes Thumshirn <jthumshirn@...e.de>,
David Sterba <dsterba@...e.com>, Chris Mason <clm@...com>,
Josef Bacik <josef@...icpanda.com>,
linux-btrfs@...r.kernel.org, dm-devel@...hat.com,
Mike Snitzer <snitzer@...hat.com>,
Alasdair Kergon <agk@...hat.com>,
intel-gfx@...ts.freedesktop.org,
Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
dri-devel@...ts.freedesktop.org, David Airlie <airlied@...ux.ie>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Daniel Vetter <daniel@...ll.ch>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
linux-arch@...r.kernel.org
Subject: Re: [patch V2 22/29] tracing: Make ftrace_trace_userstack() static
and conditional
On Thu, 18 Apr 2019 10:41:41 +0200
Thomas Gleixner <tglx@...utronix.de> wrote:
> It's only used in trace.c and there is absolutely no point in compiling it
> in when user space stack traces are not supported.
>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> Cc: Steven Rostedt <rostedt@...dmis.org>
Funny, these were moved out to global functions along with the
ftrace_trace_stack() but I guess they were never used.
This basically just does a partial revert of:
c0a0d0d3f6528 ("tracing/core: Make the stack entry helpers global")
> ---
> kernel/trace/trace.c | 14 ++++++++------
> kernel/trace/trace.h | 8 --------
> 2 files changed, 8 insertions(+), 14 deletions(-)
>
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -159,6 +159,8 @@ static union trace_eval_map_item *trace_
> #endif /* CONFIG_TRACE_EVAL_MAP_FILE */
>
> static int tracing_set_tracer(struct trace_array *tr, const char *buf);
> +static void ftrace_trace_userstack(struct ring_buffer *buffer,
> + unsigned long flags, int pc);
>
> #define MAX_TRACER_SIZE 100
> static char bootup_tracer_buf[MAX_TRACER_SIZE] __initdata;
> @@ -2905,9 +2907,10 @@ void trace_dump_stack(int skip)
> }
> EXPORT_SYMBOL_GPL(trace_dump_stack);
>
> +#ifdef CONFIG_USER_STACKTRACE_SUPPORT
> static DEFINE_PER_CPU(int, user_stack_count);
>
> -void
> +static void
> ftrace_trace_userstack(struct ring_buffer *buffer, unsigned long flags, int pc)
> {
> struct trace_event_call *call = &event_user_stack;
> @@ -2958,13 +2961,12 @@ ftrace_trace_userstack(struct ring_buffe
> out:
> preempt_enable();
> }
> -
> -#ifdef UNUSED
Strange, I never knew about this ifdef. I would have nuked it when I
saw it.
Anyway,
Reviewed-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
-- Steve
> -static void __trace_userstack(struct trace_array *tr, unsigned long flags)
> +#else /* CONFIG_USER_STACKTRACE_SUPPORT */
> +static void ftrace_trace_userstack(struct ring_buffer *buffer,
> + unsigned long flags, int pc)
> {
> - ftrace_trace_userstack(tr, flags, preempt_count());
> }
> -#endif /* UNUSED */
> +#endif /* !CONFIG_USER_STACKTRACE_SUPPORT */
>
> #endif /* CONFIG_STACKTRACE */
>
> --- a/kernel/trace/trace.h
> +++ b/kernel/trace/trace.h
> @@ -782,17 +782,9 @@ void update_max_tr_single(struct trace_a
> #endif /* CONFIG_TRACER_MAX_TRACE */
>
> #ifdef CONFIG_STACKTRACE
> -void ftrace_trace_userstack(struct ring_buffer *buffer, unsigned long flags,
> - int pc);
> -
> void __trace_stack(struct trace_array *tr, unsigned long flags, int skip,
> int pc);
> #else
> -static inline void ftrace_trace_userstack(struct ring_buffer *buffer,
> - unsigned long flags, int pc)
> -{
> -}
> -
> static inline void __trace_stack(struct trace_array *tr, unsigned long flags,
> int skip, int pc)
> {
>
Powered by blists - more mailing lists