tree: git://git.cmpxchg.org/linux-mmotm.git master head: 59f7a5af1a6c9e19c6e5152f26548c494a2d7338 commit: 482e3286d4feecef0f102043bab8fa9f94d7f1b6 [169/365] mm/compaction: add tracepoint to observe behaviour of compaction defer config: x86_64-randconfig-ib0-01161502 (attached as .config) reproduce: git checkout 482e3286d4feecef0f102043bab8fa9f94d7f1b6 # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings: In file included from include/trace/define_trace.h:90:0, from include/trace/events/compaction.h:298, from mm/compaction.c:49: include/trace/events/compaction.h: In function 'ftrace_raw_output_mm_compaction_end': include/trace/events/compaction.h:164:3: error: 'compaction_status_string' undeclared (first use in this function) compaction_status_string[__entry->status]) ^ include/trace/ftrace.h:283:22: note: in definition of macro 'DECLARE_EVENT_CLASS' trace_seq_printf(s, print); \ ^ include/trace/ftrace.h:37:9: note: in expansion of macro 'PARAMS' PARAMS(print)); \ ^ include/trace/events/compaction.h:133:1: note: in expansion of macro 'TRACE_EVENT' TRACE_EVENT(mm_compaction_end, ^ include/trace/events/compaction.h:158:2: note: in expansion of macro 'TP_printk' TP_printk("zone_start=0x%lx migrate_pfn=0x%lx free_pfn=0x%lx zone_end=0x%lx, mode=%s status=%s", ^ include/trace/events/compaction.h:164:3: note: each undeclared identifier is reported only once for each function it appears in compaction_status_string[__entry->status]) ^ include/trace/ftrace.h:283:22: note: in definition of macro 'DECLARE_EVENT_CLASS' trace_seq_printf(s, print); \ ^ include/trace/ftrace.h:37:9: note: in expansion of macro 'PARAMS' PARAMS(print)); \ ^ include/trace/events/compaction.h:133:1: note: in expansion of macro 'TRACE_EVENT' TRACE_EVENT(mm_compaction_end, ^ include/trace/events/compaction.h:158:2: note: in expansion of macro 'TP_printk' TP_printk("zone_start=0x%lx migrate_pfn=0x%lx free_pfn=0x%lx zone_end=0x%lx, mode=%s status=%s", ^ include/trace/events/compaction.h: In function 'ftrace_raw_output_mm_compaction_suitable_template': include/trace/events/compaction.h:220:3: error: 'compaction_status_string' undeclared (first use in this function) compaction_status_string[__entry->ret]) ^ include/trace/ftrace.h:283:22: note: in definition of macro 'DECLARE_EVENT_CLASS' trace_seq_printf(s, print); \ ^ include/trace/events/compaction.h:216:2: note: in expansion of macro 'TP_printk' TP_printk("node=%d zone=%-8s order=%d ret=%s", ^ In file included from include/trace/define_trace.h:90:0, from include/trace/events/compaction.h:298, from mm/compaction.c:49: include/trace/events/compaction.h: In function 'ftrace_raw_event_mm_compaction_defer_template': >> include/trace/events/compaction.h:260:29: error: 'struct zone' has no member named 'compact_considered' __entry->considered = zone->compact_considered; ^ include/trace/ftrace.h:645:4: note: in definition of macro 'DECLARE_EVENT_CLASS' { assign; } \ ^ >> include/trace/events/compaction.h:256:2: note: in expansion of macro 'TP_fast_assign' TP_fast_assign( ^ >> include/trace/events/compaction.h:261:30: error: 'struct zone' has no member named 'compact_defer_shift' __entry->defer_shift = zone->compact_defer_shift; ^ include/trace/ftrace.h:645:4: note: in definition of macro 'DECLARE_EVENT_CLASS' { assign; } \ ^ >> include/trace/events/compaction.h:256:2: note: in expansion of macro 'TP_fast_assign' TP_fast_assign( ^ >> include/trace/events/compaction.h:262:31: error: 'struct zone' has no member named 'compact_order_failed' __entry->order_failed = zone->compact_order_failed; ^ include/trace/ftrace.h:645:4: note: in definition of macro 'DECLARE_EVENT_CLASS' { assign; } \ ^ >> include/trace/events/compaction.h:256:2: note: in expansion of macro 'TP_fast_assign' TP_fast_assign( ^ In file included from include/trace/define_trace.h:90:0, from include/trace/events/compaction.h:298, from mm/compaction.c:49: include/trace/events/compaction.h: In function 'perf_trace_mm_compaction_defer_template': >> include/trace/events/compaction.h:260:29: error: 'struct zone' has no member named 'compact_considered' __entry->considered = zone->compact_considered; ^ include/trace/ftrace.h:793:4: note: in definition of macro 'DECLARE_EVENT_CLASS' { assign; } \ ^ >> include/trace/events/compaction.h:256:2: note: in expansion of macro 'TP_fast_assign' TP_fast_assign( ^ >> include/trace/events/compaction.h:261:30: error: 'struct zone' has no member named 'compact_defer_shift' __entry->defer_shift = zone->compact_defer_shift; ^ include/trace/ftrace.h:793:4: note: in definition of macro 'DECLARE_EVENT_CLASS' { assign; } \ ^ >> include/trace/events/compaction.h:256:2: note: in expansion of macro 'TP_fast_assign' TP_fast_assign( ^ >> include/trace/events/compaction.h:262:31: error: 'struct zone' has no member named 'compact_order_failed' __entry->order_failed = zone->compact_order_failed; ^ include/trace/ftrace.h:793:4: note: in definition of macro 'DECLARE_EVENT_CLASS' { assign; } \ ^ >> include/trace/events/compaction.h:256:2: note: in expansion of macro 'TP_fast_assign' TP_fast_assign( ^ mm/compaction.c: At top level: mm/compaction.c:392:13: warning: 'suitable_migration_target' defined but not used [-Wunused-function] static bool suitable_migration_target(struct page *page) ^ vim +260 include/trace/events/compaction.h 210 __entry->nid = zone_to_nid(zone); 211 __entry->name = (char *)zone->name; 212 __entry->order = order; 213 __entry->ret = ret; 214 ), 215 > 216 TP_printk("node=%d zone=%-8s order=%d ret=%s", 217 __entry->nid, 218 __entry->name, 219 __entry->order, 220 compaction_status_string[__entry->ret]) 221 ); 222 223 DEFINE_EVENT(mm_compaction_suitable_template, mm_compaction_finished, 224 225 TP_PROTO(struct zone *zone, 226 int order, 227 int ret), 228 229 TP_ARGS(zone, order, ret) 230 ); 231 232 DEFINE_EVENT(mm_compaction_suitable_template, mm_compaction_suitable, 233 234 TP_PROTO(struct zone *zone, 235 int order, 236 int ret), 237 238 TP_ARGS(zone, order, ret) 239 ); 240 241 DECLARE_EVENT_CLASS(mm_compaction_defer_template, 242 243 TP_PROTO(struct zone *zone, int order), 244 245 TP_ARGS(zone, order), 246 247 TP_STRUCT__entry( 248 __field(int, nid) 249 __field(char *, name) 250 __field(int, order) 251 __field(unsigned int, considered) 252 __field(unsigned int, defer_shift) 253 __field(int, order_failed) 254 ), 255 > 256 TP_fast_assign( 257 __entry->nid = zone_to_nid(zone); 258 __entry->name = (char *)zone->name; 259 __entry->order = order; > 260 __entry->considered = zone->compact_considered; > 261 __entry->defer_shift = zone->compact_defer_shift; > 262 __entry->order_failed = zone->compact_order_failed; 263 ), 264 265 TP_printk("node=%d zone=%-8s order=%d order_failed=%d consider=%u limit=%lu", 266 __entry->nid, 267 __entry->name, 268 __entry->order, 269 __entry->order_failed, 270 __entry->considered, 271 1UL << __entry->defer_shift) 272 ); 273 274 DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_deferred, 275 276 TP_PROTO(struct zone *zone, int order), 277 278 TP_ARGS(zone, order) 279 ); 280 281 DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_defer_compaction, 282 283 TP_PROTO(struct zone *zone, int order), 284 285 TP_ARGS(zone, order) 286 ); 287 288 DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_defer_reset, 289 290 TP_PROTO(struct zone *zone, int order), 291 292 TP_ARGS(zone, order) 293 ); 294 295 #endif /* _TRACE_COMPACTION_H */ 296 297 /* This part must be outside protection */ > 298 #include --- 0-DAY kernel test infrastructure Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation