diff options
-rw-r--r-- | include/trace/events/kmem.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h index 78efa0a197a9..aa863549e77a 100644 --- a/include/trace/events/kmem.h +++ b/include/trace/events/kmem.h | |||
@@ -158,12 +158,24 @@ DEFINE_EVENT_CONDITION(kmem_free, kmem_cache_free, | |||
158 | TP_CONDITION(cpu_online(raw_smp_processor_id())) | 158 | TP_CONDITION(cpu_online(raw_smp_processor_id())) |
159 | ); | 159 | ); |
160 | 160 | ||
161 | TRACE_EVENT(mm_page_free, | 161 | TRACE_EVENT_CONDITION(mm_page_free, |
162 | 162 | ||
163 | TP_PROTO(struct page *page, unsigned int order), | 163 | TP_PROTO(struct page *page, unsigned int order), |
164 | 164 | ||
165 | TP_ARGS(page, order), | 165 | TP_ARGS(page, order), |
166 | 166 | ||
167 | |||
168 | /* | ||
169 | * This trace can be potentially called from an offlined cpu. | ||
170 | * Since trace points use RCU and RCU should not be used from | ||
171 | * offline cpus, filter such calls out. | ||
172 | * While this trace can be called from a preemptable section, | ||
173 | * it has no impact on the condition since tasks can migrate | ||
174 | * only from online cpus to other online cpus. Thus its safe | ||
175 | * to use raw_smp_processor_id. | ||
176 | */ | ||
177 | TP_CONDITION(cpu_online(raw_smp_processor_id())), | ||
178 | |||
167 | TP_STRUCT__entry( | 179 | TP_STRUCT__entry( |
168 | __field( unsigned long, pfn ) | 180 | __field( unsigned long, pfn ) |
169 | __field( unsigned int, order ) | 181 | __field( unsigned int, order ) |