Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1285915 > unrolled thread

Re: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline CPUs

Started bySteven Rostedt <rostedt@goodmis.org>
First post2015-12-07 22:00 +0100
Last post2015-12-07 22:40 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline  CPUs Steven Rostedt <rostedt@goodmis.org> - 2015-12-07 22:00 +0100
    Re: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline CPUs Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2015-12-07 22:10 +0100
      Re: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline  CPUs Steven Rostedt <rostedt@goodmis.org> - 2015-12-07 22:40 +0100

#1285915 — Re: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline CPUs

FromSteven Rostedt <rostedt@goodmis.org>
Date2015-12-07 22:00 +0100
SubjectRe: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline CPUs
Message-ID<qDb34-14n-15@gated-at.bofh.it>
I can take this series through my tree, but I need a acked-by from a
PPC maintainer for this patch.

-- Steve


On Tue, 24 Nov 2015 21:23:39 +0300
Denis Kirjanov <kda@linux-powerpc.org> wrote:

> ./drmgr -c cpu -a -r gives the following warning:
> 
> [ 2327.035563]
> RCU used illegally from offline CPU!
> rcu_scheduler_active = 1, debug_locks = 1
> [ 2327.035564] no locks held by swapper/12/0.
> [ 2327.035565]
> stack backtrace:
> [ 2327.035567] CPU: 12 PID: 0 Comm: swapper/12 Tainted: G S
>   4.3.0-rc3-00060-g353169a #5
>   [ 2327.035568] Call Trace:
>   [ 2327.035573] [c0000001d62578e0] [c0000000008977fc]
>   .dump_stack+0x98/0xd4 (unreliable)
>   [ 2327.035577] [c0000001d6257960] [c000000000109bd8]
>   .lockdep_rcu_suspicious+0x108/0x170
>   [ 2327.035580] [c0000001d62579f0] [c00000000006a1d0]
>   .__trace_hcall_exit+0x2b0/0x2c0
>   [ 2327.035584] [c0000001d6257ab0] [c00000000006a2e8]
>   plpar_hcall_norets_trace+0x70/0x8c
>   [ 2327.035588] [c0000001d6257b20] [c000000000067a14]
>   .icp_hv_set_cpu_priority+0x54/0xc0
>   [ 2327.035592] [c0000001d6257ba0] [c000000000066c5c]
>   .xics_teardown_cpu+0x5c/0xa0
>   [ 2327.035595] [c0000001d6257c20] [c0000000000747ac]
>   .pseries_mach_cpu_die+0x6c/0x320
>   [ 2327.035598] [c0000001d6257cd0] [c0000000000439cc]
>   .cpu_die+0x3c/0x60
>   [ 2327.035602] [c0000001d6257d40] [c0000000000183d8]
>   .arch_cpu_idle_dead+0x28/0x40
>   [ 2327.035606] [c0000001d6257db0] [c0000000000ff1dc]
>   .cpu_startup_entry+0x4fc/0x560
>   [ 2327.035610] [c0000001d6257ed0] [c000000000043728]
>   .start_secondary+0x328/0x360
>   [ 2327.035614] [c0000001d6257f90] [c000000000008a6c]
>   start_secondary_prolog+0x10/0x14
>   [ 2327.035620] cpu 12 (hwid 12) Ready to die...
>   [ 2327.144463] cpu 13 (hwid 13) Ready to die...
>   [ 2327.294180] cpu 14 (hwid 14) Ready to die...
>   [ 2327.403599] cpu 15 (hwid 15) Ready to die...
> 
>   Make the hypervisor tracepoints conditional by using
>   TRACE_EVENT_FN_COND
> 
> Signed-off-by: Denis Kirjanov <kda@linux-powerpc.org>
> ---
>  arch/powerpc/include/asm/trace.h | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/trace.h b/arch/powerpc/include/asm/trace.h
> index 8e86b48..3dc5803 100644
> --- a/arch/powerpc/include/asm/trace.h
> +++ b/arch/powerpc/include/asm/trace.h
> @@ -57,12 +57,14 @@ DEFINE_EVENT(ppc64_interrupt_class, timer_interrupt_exit,
>  extern void hcall_tracepoint_regfunc(void);
>  extern void hcall_tracepoint_unregfunc(void);
>  
> -TRACE_EVENT_FN(hcall_entry,
> +TRACE_EVENT_FN_COND(hcall_entry,
>  
>  	TP_PROTO(unsigned long opcode, unsigned long *args),
>  
>  	TP_ARGS(opcode, args),
>  
> +	TP_CONDITION(cpu_online(smp_processor_id())),
> +
>  	TP_STRUCT__entry(
>  		__field(unsigned long, opcode)
>  	),
> @@ -76,13 +78,15 @@ TRACE_EVENT_FN(hcall_entry,
>  	hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
>  );
>  
> -TRACE_EVENT_FN(hcall_exit,
> +TRACE_EVENT_FN_COND(hcall_exit,
>  
>  	TP_PROTO(unsigned long opcode, unsigned long retval,
>  		unsigned long *retbuf),
>  
>  	TP_ARGS(opcode, retval, retbuf),
>  
> +	TP_CONDITION(cpu_online(smp_processor_id())),
> +
>  	TP_STRUCT__entry(
>  		__field(unsigned long, opcode)
>  		__field(unsigned long, retval)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1285929 — Re: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline CPUs

FromBenjamin Herrenschmidt <benh@kernel.crashing.org>
Date2015-12-07 22:10 +0100
SubjectRe: [PATCH 2/2] powerpc: tracing: don't trace hcalls on offline CPUs
Message-ID<qDbcJ-1od-11@gated-at.bofh.it>
In reply to#1285915
On Mon, 2015-12-07 at 15:52 -0500, Steven Rostedt wrote:
> > +     TP_CONDITION(cpu_online(smp_processor_id())),
> > +

This should probably be some kind of __raw version though, hcalls can
be called in contexts where the debug stuff in smp_processor_id() isn't
safe (or preempt enabled).

Cheers,
Ben.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1285975

FromSteven Rostedt <rostedt@goodmis.org>
Date2015-12-07 22:40 +0100
Message-ID<qDbFN-1D6-47@gated-at.bofh.it>
In reply to#1285929
On Tue, 08 Dec 2015 08:02:15 +1100
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:

> On Mon, 2015-12-07 at 15:52 -0500, Steven Rostedt wrote:
> > > +     TP_CONDITION(cpu_online(smp_processor_id())),
> > > +  
> 
> This should probably be some kind of __raw version though, hcalls can
> be called in contexts where the debug stuff in smp_processor_id() isn't
> safe (or preempt enabled).
> 

OK, then that needs to be updated.

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web