On Sat, 13 Feb 2016 21:22:52 +0300 Denis Kirjanov <k...@linux-powerpc.org> wrote:
> -DEFINE_EVENT(kmem_free, kfree, > +DEFINE_EVENT_CONDITION(kmem_free, kfree, > > TP_PROTO(unsigned long call_site, const void *ptr), > > - TP_ARGS(call_site, ptr) > + 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. > + * While this trace can be called from a preemptable section, > + * it has no impact on the condition since tasks can migrate > + * only from online cpus to other online cpus. Thus its safe > + * to use raw_smp_processor_id. > + */ > + TP_CONDITION(cpu_online(raw_smp_processor_id())) This is starting to become a common occurrence. Perhaps it is best to just hardcode this into the tracepoint code itself? -- Steve > ); > > DEFINE_EVENT_CONDITION(kmem_free, kmem_cache_free,