On Wed, 13 May 2015 21:37:43 +0530 "Shreyas B. Prabhu" <[email protected]> wrote:
> trace_mm_page_pcpu_drain, trace_kmem_cache_free, trace_mm_page_free > and trace_tlb_flush can be potentially called from an offlined cpu. > Since trace points use RCU and RCU should not be used from offlined > cpus, we have checks to filter out such calls. Add comments to explain > this. > > Signed-off-by: Shreyas B. Prabhu <[email protected]> > --- > This applies on top of patches posted here: > https://lkml.org/lkml/2015/5/8/527 > > include/trace/events/kmem.h | 15 +++++++++++++++ > include/trace/events/tlb.h | 5 +++++ > 2 files changed, 20 insertions(+) > > diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h > index 6cd975f..9883f2f 100644 > --- a/include/trace/events/kmem.h > +++ b/include/trace/events/kmem.h > @@ -146,6 +146,11 @@ DEFINE_EVENT_CONDITION(kmem_free, kmem_cache_free, > > TP_ARGS(call_site, ptr), > > + /* > + * This trace can be potentially called from an offlined cpu. > + * Since trace points use RCU and RCU should not be used from > + * offline cpus, filter such calls out. > + */ > TP_CONDITION(cpu_online(smp_processor_id())) > ); > Thanks for the comments, but can't these still be called with preemption enabled. What happens when CONFIG_DEBUG_PREEMPT is set and you enable these tracepoints. Wont it trigger a warning about smp_processor_id() being used in preemptible code? -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

