Lines Matching refs:name
21 #define DECLARE_RV_REACTING_HELPERS(name, type) \ argument
22 static char REACT_MSG_##name[1024]; \
24 static inline char *format_react_msg_##name(type curr_state, type event) \
26 snprintf(REACT_MSG_##name, 1024, \
28 #name, \
29 model_get_event_name_##name(event), \
30 model_get_state_name_##name(curr_state)); \
31 return REACT_MSG_##name; \
34 static void cond_react_##name(char *msg) \
36 if (rv_##name.react) \
37 rv_##name.react(msg); \
40 static bool rv_reacting_on_##name(void) \
47 #define DECLARE_RV_REACTING_HELPERS(name, type) \ argument
48 static inline char *format_react_msg_##name(type curr_state, type event) \
53 static void cond_react_##name(char *msg) \
58 static bool rv_reacting_on_##name(void) \
67 #define DECLARE_DA_MON_GENERIC_HELPERS(name, type) \ argument
69 DECLARE_RV_REACTING_HELPERS(name, type) \
74 static inline void da_monitor_reset_##name(struct da_monitor *da_mon) \
77 da_mon->curr_state = model_get_initial_state_##name(); \
83 static inline type da_monitor_curr_state_##name(struct da_monitor *da_mon) \
92 da_monitor_set_state_##name(struct da_monitor *da_mon, enum states_##name state) \
103 static inline void da_monitor_start_##name(struct da_monitor *da_mon) \
105 da_mon->curr_state = model_get_initial_state_##name(); \
112 static inline bool da_monitoring_##name(struct da_monitor *da_mon) \
120 static inline bool da_monitor_enabled_##name(void) \
127 if (unlikely(!rv_##name.enabled)) \
136 static inline bool da_monitor_handling_event_##name(struct da_monitor *da_mon) \
139 if (!da_monitor_enabled_##name()) \
143 if (unlikely(!da_monitoring_##name(da_mon))) \
154 #define DECLARE_DA_MON_MODEL_HANDLER_IMPLICIT(name, type) \ argument
157 da_event_##name(struct da_monitor *da_mon, enum events_##name event) \
159 type curr_state = da_monitor_curr_state_##name(da_mon); \
160 type next_state = model_get_next_state_##name(curr_state, event); \
163 da_monitor_set_state_##name(da_mon, next_state); \
165 trace_event_##name(model_get_state_name_##name(curr_state), \
166 model_get_event_name_##name(event), \
167 model_get_state_name_##name(next_state), \
168 model_is_final_state_##name(next_state)); \
173 if (rv_reacting_on_##name()) \
174 cond_react_##name(format_react_msg_##name(curr_state, event)); \
176 trace_error_##name(model_get_state_name_##name(curr_state), \
177 model_get_event_name_##name(event)); \
185 #define DECLARE_DA_MON_MODEL_HANDLER_PER_TASK(name, type) \ argument
187 static inline bool da_event_##name(struct da_monitor *da_mon, struct task_struct *tsk, \
188 enum events_##name event) \
190 type curr_state = da_monitor_curr_state_##name(da_mon); \
191 type next_state = model_get_next_state_##name(curr_state, event); \
194 da_monitor_set_state_##name(da_mon, next_state); \
196 trace_event_##name(tsk->pid, \
197 model_get_state_name_##name(curr_state), \
198 model_get_event_name_##name(event), \
199 model_get_state_name_##name(next_state), \
200 model_is_final_state_##name(next_state)); \
205 if (rv_reacting_on_##name()) \
206 cond_react_##name(format_react_msg_##name(curr_state, event)); \
208 trace_error_##name(tsk->pid, \
209 model_get_state_name_##name(curr_state), \
210 model_get_event_name_##name(event)); \
218 #define DECLARE_DA_MON_INIT_GLOBAL(name, type) \ argument
223 static struct da_monitor da_mon_##name; \
228 static struct da_monitor *da_get_monitor_##name(void) \
230 return &da_mon_##name; \
236 static void da_monitor_reset_all_##name(void) \
238 da_monitor_reset_##name(da_get_monitor_##name()); \
244 static inline int da_monitor_init_##name(void) \
246 da_monitor_reset_all_##name(); \
253 static inline void da_monitor_destroy_##name(void) \
261 #define DECLARE_DA_MON_INIT_PER_CPU(name, type) \ argument
266 static DEFINE_PER_CPU(struct da_monitor, da_mon_##name); \
271 static struct da_monitor *da_get_monitor_##name(void) \
273 return this_cpu_ptr(&da_mon_##name); \
279 static void da_monitor_reset_all_##name(void) \
284 da_mon = per_cpu_ptr(&da_mon_##name, cpu); \
285 da_monitor_reset_##name(da_mon); \
292 static inline int da_monitor_init_##name(void) \
294 da_monitor_reset_all_##name(); \
301 static inline void da_monitor_destroy_##name(void) \
309 #define DECLARE_DA_MON_INIT_PER_TASK(name, type) \ argument
315 static int task_mon_slot_##name = RV_PER_TASK_MONITOR_INIT; \
320 static inline struct da_monitor *da_get_monitor_##name(struct task_struct *tsk) \
322 return &tsk->rv[task_mon_slot_##name].da_mon; \
325 static void da_monitor_reset_all_##name(void) \
332 da_monitor_reset_##name(da_get_monitor_##name(p)); \
334 da_monitor_reset_##name(da_get_monitor_##name(idle_task(cpu))); \
344 static int da_monitor_init_##name(void) \
352 task_mon_slot_##name = slot; \
354 da_monitor_reset_all_##name(); \
361 static inline void da_monitor_destroy_##name(void) \
363 if (task_mon_slot_##name == RV_PER_TASK_MONITOR_INIT) { \
364 WARN_ONCE(1, "Disabling a disabled monitor: " #name); \
367 rv_put_task_monitor_slot(task_mon_slot_##name); \
368 task_mon_slot_##name = RV_PER_TASK_MONITOR_INIT; \
376 #define DECLARE_DA_MON_MONITOR_HANDLER_IMPLICIT(name, type) \ argument
378 static inline void __da_handle_event_##name(struct da_monitor *da_mon, \
379 enum events_##name event) \
383 retval = da_event_##name(da_mon, event); \
385 da_monitor_reset_##name(da_mon); \
391 static inline void da_handle_event_##name(enum events_##name event) \
393 struct da_monitor *da_mon = da_get_monitor_##name(); \
396 retval = da_monitor_handling_event_##name(da_mon); \
400 __da_handle_event_##name(da_mon, event); \
413 static inline bool da_handle_start_event_##name(enum events_##name event) \
417 if (!da_monitor_enabled_##name()) \
420 da_mon = da_get_monitor_##name(); \
422 if (unlikely(!da_monitoring_##name(da_mon))) { \
423 da_monitor_start_##name(da_mon); \
427 __da_handle_event_##name(da_mon, event); \
438 static inline bool da_handle_start_run_event_##name(enum events_##name event) \
442 if (!da_monitor_enabled_##name()) \
445 da_mon = da_get_monitor_##name(); \
447 if (unlikely(!da_monitoring_##name(da_mon))) \
448 da_monitor_start_##name(da_mon); \
450 __da_handle_event_##name(da_mon, event); \
458 #define DECLARE_DA_MON_MONITOR_HANDLER_PER_TASK(name, type) \ argument
461 __da_handle_event_##name(struct da_monitor *da_mon, struct task_struct *tsk, \
462 enum events_##name event) \
466 retval = da_event_##name(da_mon, tsk, event); \
468 da_monitor_reset_##name(da_mon); \
475 da_handle_event_##name(struct task_struct *tsk, enum events_##name event) \
477 struct da_monitor *da_mon = da_get_monitor_##name(tsk); \
480 retval = da_monitor_handling_event_##name(da_mon); \
484 __da_handle_event_##name(da_mon, tsk, event); \
498 da_handle_start_event_##name(struct task_struct *tsk, enum events_##name event) \
502 if (!da_monitor_enabled_##name()) \
505 da_mon = da_get_monitor_##name(tsk); \
507 if (unlikely(!da_monitoring_##name(da_mon))) { \
508 da_monitor_start_##name(da_mon); \
512 __da_handle_event_##name(da_mon, tsk, event); \
520 #define DECLARE_DA_MON_GLOBAL(name, type) \ argument
522 DECLARE_AUTOMATA_HELPERS(name, type) \
523 DECLARE_DA_MON_GENERIC_HELPERS(name, type) \
524 DECLARE_DA_MON_MODEL_HANDLER_IMPLICIT(name, type) \
525 DECLARE_DA_MON_INIT_GLOBAL(name, type) \
526 DECLARE_DA_MON_MONITOR_HANDLER_IMPLICIT(name, type)
531 #define DECLARE_DA_MON_PER_CPU(name, type) \ argument
533 DECLARE_AUTOMATA_HELPERS(name, type) \
534 DECLARE_DA_MON_GENERIC_HELPERS(name, type) \
535 DECLARE_DA_MON_MODEL_HANDLER_IMPLICIT(name, type) \
536 DECLARE_DA_MON_INIT_PER_CPU(name, type) \
537 DECLARE_DA_MON_MONITOR_HANDLER_IMPLICIT(name, type)
542 #define DECLARE_DA_MON_PER_TASK(name, type) \ argument
544 DECLARE_AUTOMATA_HELPERS(name, type) \
545 DECLARE_DA_MON_GENERIC_HELPERS(name, type) \
546 DECLARE_DA_MON_MODEL_HANDLER_PER_TASK(name, type) \
547 DECLARE_DA_MON_INIT_PER_TASK(name, type) \
548 DECLARE_DA_MON_MONITOR_HANDLER_PER_TASK(name, type)