X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Flttng-statedump.h;h=74233ca1d8fb7fc8d118d4d9c112bd53f41dff17;hb=286a94365681be3a4b5f5136f59f69ce8bf325f9;hp=ea0b6d9d99eeeade8aaec9be89cee228c85e729f;hpb=73e8ba371039bc05745a739db4d69b4220a1c03e;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/lttng-statedump.h b/instrumentation/events/lttng-module/lttng-statedump.h index ea0b6d9d..74233ca1 100644 --- a/instrumentation/events/lttng-module/lttng-statedump.h +++ b/instrumentation/events/lttng-module/lttng-statedump.h @@ -7,6 +7,7 @@ #include #include #include +#include TRACE_EVENT(lttng_statedump_start, TP_PROTO(struct lttng_session *session), @@ -67,10 +68,12 @@ TRACE_EVENT(lttng_statedump_process_state, struct task_struct *parent; pid_t ret = 0; - rcu_read_lock(); - parent = rcu_dereference(p->real_parent); - ret = task_tgid_nr_ns(parent, pid_ns); - rcu_read_unlock(); + if (pid_ns) { + rcu_read_lock(); + parent = rcu_dereference(p->real_parent); + ret = task_tgid_nr_ns(parent, pid_ns); + rcu_read_unlock(); + } ret; })) tp_memcpy(name, p->comm, TASK_COMM_LEN) @@ -85,16 +88,21 @@ TRACE_EVENT(lttng_statedump_process_state, TRACE_EVENT(lttng_statedump_file_descriptor, TP_PROTO(struct lttng_session *session, - struct task_struct *p, int fd, const char *filename), - TP_ARGS(session, p, fd, filename), + struct task_struct *p, int fd, const char *filename, + unsigned int flags, fmode_t fmode), + TP_ARGS(session, p, fd, filename, flags, fmode), TP_STRUCT__entry( __field(pid_t, pid) __field(int, fd) + __field_oct(unsigned int, flags) + __field_hex(fmode_t, fmode) __string(filename, filename) ), TP_fast_assign( tp_assign(pid, p->tgid) tp_assign(fd, fd) + tp_assign(flags, flags) + tp_assign(fmode, fmode) tp_strcpy(filename, filename) ), TP_printk("") @@ -139,6 +147,21 @@ TRACE_EVENT(lttng_statedump_network_interface, TP_printk("") ) +TRACE_EVENT(lttng_statedump_block_device, + TP_PROTO(struct lttng_session *session, + dev_t dev, const char *diskname), + TP_ARGS(session, dev, diskname), + TP_STRUCT__entry( + __field(dev_t, dev) + __string(diskname, diskname) + ), + TP_fast_assign( + tp_assign(dev, dev) + tp_strcpy(diskname, diskname) + ), + TP_printk("") +) + /* Called with desc->lock held */ TRACE_EVENT(lttng_statedump_interrupt, TP_PROTO(struct lttng_session *session, @@ -148,12 +171,12 @@ TRACE_EVENT(lttng_statedump_interrupt, TP_STRUCT__entry( __field(unsigned int, irq) __string(name, chip_name) - __string(action, action->name) + __string(action, action->name ? : "") ), TP_fast_assign( tp_assign(irq, irq) tp_strcpy(name, chip_name) - tp_strcpy(action, action->name) + tp_strcpy(action, action->name ? : "") ), TP_printk("") )