#undef TRACE_SYSTEM #define TRACE_SYSTEM lve #if !defined(_LVE_DEBUG_EVENTS_H_) || defined(TRACE_HEADER_MULTI_READ) #define _LVE_DEBUG_EVENTS_H_ #include #include "lve-api.h" #define show_entry_flags(flags) \ __print_flags(flags, "|", \ {LVE_ENTER_NAMESPACE, "LVE_ENTER_NAMESPACE"}, \ {LVE_ENTER_NO_UBC, "LVE_ENTER_NO_UBC"}, \ {LVE_ENTER_NO_CPU, "LVE_ENTER_NO_CPU"}, \ {LVE_ENTER_NO_FREEZER, "LVE_ENTER_NO_FREEZER"},\ {LVE_ENTER_NO_MAXENTER, "LVE_ENTER_NO_MAXENTER"},\ {LVE_ENTER_SILENCE, "LVE_ENTER_SILENCE"}, \ {LVE_ENTER_NO_KILLABLE, "LVE_ENTER_NO_KILLABLE"},\ {LVE_ENTER_NO_CREATE, "LVE_ENTER_NO_CREATE"},\ {LVE_ENTER_NO_CPU, "LVE_ENTER_NO_CPU"},\ {LVE_ENTER_NO_FREEZER, "LVE_ENTER_NO_FREEZER"}) TRACE_EVENT(lve_enter, TP_PROTO(struct task_struct *t, uint32_t lvp_id, uint32_t lve_id, uint32_t flags, uint32_t cookie, int rc), TP_ARGS(t, lvp_id, lve_id, flags, cookie, rc), TP_STRUCT__entry( __array(char, comm, TASK_COMM_LEN) __field(pid_t, pid) __field(uint32_t, lve_id) __field(uint32_t, lvp_id) __field(uint32_t, flags) __field(uint32_t, cookie) __field(int, rc) ), TP_fast_assign( memcpy(__entry->comm, t->comm, TASK_COMM_LEN); __entry->pid = t->pid; __entry->lve_id = lve_id; __entry->lvp_id = lvp_id; __entry->flags = flags; __entry->cookie = cookie; __entry->rc = rc; ), TP_printk("comm=%s pid=%d lve=%u lvp=%u flags=%s cookie=%x rc=%d", __entry->comm, __entry->pid, __entry->lve_id, __entry->lvp_id, show_entry_flags(__entry->flags), __entry->cookie, __entry->rc) ); TRACE_EVENT(lve_leave, TP_PROTO(struct task_struct *t, uint32_t cookie, int rc), TP_ARGS(t, cookie, rc), TP_STRUCT__entry( __array(char, comm, TASK_COMM_LEN) __field(pid_t, pid) __field(uint32_t, cookie) __field(int, rc) ), TP_fast_assign( memcpy(__entry->comm, t->comm, TASK_COMM_LEN); __entry->pid = t->pid; __entry->cookie = cookie; __entry->rc = rc; ), TP_printk("comm=%s pid=%d cookie=%x rc=%d", __entry->comm, __entry->pid, __entry->cookie, __entry->rc) ); TRACE_EVENT(lve_setup, TP_PROTO(uint32_t lvp_id, uint32_t lve_id, int32_t l_cpu, int32_t l_io, int32_t l_enter, int32_t l_cpus, int32_t l_mem, int32_t l_pmem, int32_t l_cpuw, int32_t l_nproc, int32_t l_iops, int rc), TP_ARGS(lvp_id, lve_id, l_cpu, l_io, l_enter, l_cpus, l_mem, l_pmem, l_cpuw, l_nproc, l_iops, rc), TP_STRUCT__entry( __field(uint32_t, lve_id) __field(uint32_t, lvp_id) __field(int, rc) __field(int32_t, l_cpu) __field(int32_t, l_io) __field(int32_t, l_enter) __field(int32_t, l_cpus) __field(int32_t, l_mem) __field(int32_t, l_pmem) __field(int32_t, l_cpuw) __field(int32_t, l_nproc) __field(int32_t, l_iops) ), TP_fast_assign( __entry->lve_id = lve_id; __entry->lvp_id = lvp_id; __entry->rc = rc; __entry->l_cpu = l_cpu; __entry->l_io = l_io; __entry->l_enter = l_enter; __entry->l_cpus = l_cpus; __entry->l_mem = l_mem; __entry->l_pmem = l_pmem; __entry->l_cpuw = l_cpuw; __entry->l_nproc = l_nproc; __entry->l_iops = l_iops; ), TP_printk("lvp=%u lve=%u lcpu=%u lio=%u lenter=%u lcpus=%u lmem=%u " "lpmem=%u lcpuw=%u lnproc=%u liops=%u rc=%d", __entry->lvp_id, __entry->lve_id, __entry->l_cpu, __entry->l_io, __entry->l_enter, __entry->l_cpus, __entry->l_mem, __entry->l_pmem, __entry->l_cpuw, __entry->l_nproc, __entry->l_iops, __entry->rc) ); TRACE_EVENT(lve_destroy, TP_PROTO(uint32_t lvp_id, uint32_t lve_id, int rc), TP_ARGS(lvp_id, lve_id, rc), TP_STRUCT__entry( __field(uint32_t, lve_id) __field(uint32_t, lvp_id) __field(int, rc) ), TP_fast_assign( __entry->lve_id = lve_id; __entry->lvp_id = lvp_id; __entry->rc = rc; ), TP_printk("lve=%u lvp=%u rc=%d", __entry->lve_id, __entry->lvp_id, __entry->rc) ); TRACE_EVENT(lve_get_pid_info, TP_PROTO(pid_t pid, uint32_t lve_id, uint32_t flags, int leader, int rc), TP_ARGS(pid, lve_id, flags, leader, rc), TP_STRUCT__entry( __field(pid_t, pid) __field(uint32_t, lve_id) __field(uint32_t, flags) __field(int, leader) __field(int, rc) ), TP_fast_assign( __entry->pid = pid; __entry->lve_id = lve_id; __entry->flags = flags; __entry->leader = leader; __entry->rc = rc; ), TP_printk("pid=%u lve=%u flags=%s leader=%d rc=%d", __entry->pid, __entry->lve_id, show_entry_flags(__entry->flags), __entry->leader, __entry->rc) ); TRACE_EVENT(lvp_alloc, TP_PROTO(uint32_t lvp_id, void *lvp), TP_ARGS(lvp_id, lvp), TP_STRUCT__entry( __field(uint32_t, lvp_id) __field(void *, lvp) ), TP_fast_assign( __entry->lvp_id = lvp_id; __entry->lvp = lvp; ), TP_printk("lvp_id=%u lvp=%p", __entry->lvp_id, __entry->lvp) ); TRACE_EVENT(iolimit_io_account, TP_PROTO(long ub_id, long pages), TP_ARGS(ub_id, pages), TP_STRUCT__entry( __field(long, ub_id) __field(long, pages) ), TP_fast_assign( __entry->ub_id = ub_id; __entry->pages = pages; ), TP_printk("ubid=%ld bytes=%ld", __entry->ub_id, __entry->pages) ); TRACE_EVENT(iolimit_dirty, TP_PROTO(long ub_id, long pages), TP_ARGS(ub_id, pages), TP_STRUCT__entry( __field(long, ub_id) __field(long, pages) ), TP_fast_assign( __entry->ub_id = ub_id; __entry->pages = pages; ), TP_printk("ubid=%ld bytes=%ld", __entry->ub_id, __entry->pages) ); TRACE_EVENT(iolimit_wait, TP_PROTO(long ub_id, long ms), TP_ARGS(ub_id, ms), TP_STRUCT__entry( __field(long, ub_id) __field(long, ms) ), TP_fast_assign( __entry->ub_id = ub_id; __entry->ms = ms; ), TP_printk("ubid=%ld ms=%ld", __entry->ub_id, __entry->ms) ); TRACE_EVENT(lve_tag_get, TP_PROTO(struct task_struct *ts, void *tag, int ref), TP_ARGS(ts, tag, ref), TP_STRUCT__entry( __field(struct task_struct *, ts) __field(void *, tag) __field(int, ref) ), TP_fast_assign( __entry->ts = ts; __entry->tag = tag; __entry->ref = ref; ), TP_printk("task=%px tag=%px ref=%d", __entry->ts, __entry->tag, __entry->ref) ); TRACE_EVENT(lve_tag_put, TP_PROTO(void *tag, int ref), TP_ARGS(tag, ref), TP_STRUCT__entry( __field(void *, tag) __field(int, ref) ), TP_fast_assign( __entry->tag = tag; __entry->ref = ref; ), TP_printk("tag=%px ref=%d", __entry->tag, __entry->ref) ); TRACE_EVENT(setuid_enter, TP_PROTO(int sysctl, int flags, long euid, long minuid, long lveid, int ret), TP_ARGS(sysctl, flags, euid, minuid, lveid, ret), TP_STRUCT__entry( __field(int, sysctl) __field(int, flags) __field(long, euid) __field(long, minuid) __field(long, lveid) __field(int, ret) ), TP_fast_assign( __entry->sysctl = sysctl; __entry->flags = flags; __entry->euid = euid; __entry->minuid = minuid; __entry->lveid = lveid; __entry->ret = ret; ), TP_printk("sysctl=%d flags=%d euid=%ld minuid=%ld lveid=%ld ret=%d", __entry->sysctl, __entry->flags, __entry->euid, __entry->minuid, __entry->lveid, __entry->ret) ); #endif /* _LVE_DEBUG_EVENTS_H_ */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_FILE lve_debug_events /* This part must be outside protection */ #include