| /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ | |
| /* Copyright (c) 2018 Mellanox Technologies. All rights reserved */ | |
| #undef TRACE_SYSTEM | |
| #define TRACE_SYSTEM objagg | |
| #if !defined(__TRACE_OBJAGG_H) || defined(TRACE_HEADER_MULTI_READ) | |
| #define __TRACE_OBJAGG_H | |
| #include <linux/tracepoint.h> | |
| struct objagg; | |
| struct objagg_obj; | |
| TRACE_EVENT(objagg_create, | |
| TP_PROTO(const struct objagg *objagg), | |
| TP_ARGS(objagg), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| ), | |
| TP_printk("objagg %p", __entry->objagg) | |
| ); | |
| TRACE_EVENT(objagg_destroy, | |
| TP_PROTO(const struct objagg *objagg), | |
| TP_ARGS(objagg), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| ), | |
| TP_printk("objagg %p", __entry->objagg) | |
| ); | |
| TRACE_EVENT(objagg_obj_create, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj), | |
| TP_ARGS(objagg, obj), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| ), | |
| TP_printk("objagg %p, obj %p", __entry->objagg, __entry->obj) | |
| ); | |
| TRACE_EVENT(objagg_obj_destroy, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj), | |
| TP_ARGS(objagg, obj), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| ), | |
| TP_printk("objagg %p, obj %p", __entry->objagg, __entry->obj) | |
| ); | |
| TRACE_EVENT(objagg_obj_get, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj, | |
| unsigned int refcount), | |
| TP_ARGS(objagg, obj, refcount), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| __field(unsigned int, refcount) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| __entry->refcount = refcount; | |
| ), | |
| TP_printk("objagg %p, obj %p, refcount %u", | |
| __entry->objagg, __entry->obj, __entry->refcount) | |
| ); | |
| TRACE_EVENT(objagg_obj_put, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj, | |
| unsigned int refcount), | |
| TP_ARGS(objagg, obj, refcount), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| __field(unsigned int, refcount) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| __entry->refcount = refcount; | |
| ), | |
| TP_printk("objagg %p, obj %p, refcount %u", | |
| __entry->objagg, __entry->obj, __entry->refcount) | |
| ); | |
| TRACE_EVENT(objagg_obj_parent_assign, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj, | |
| const struct objagg_obj *parent, | |
| unsigned int parent_refcount), | |
| TP_ARGS(objagg, obj, parent, parent_refcount), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| __field(const void *, parent) | |
| __field(unsigned int, parent_refcount) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| __entry->parent = parent; | |
| __entry->parent_refcount = parent_refcount; | |
| ), | |
| TP_printk("objagg %p, obj %p, parent %p, parent_refcount %u", | |
| __entry->objagg, __entry->obj, | |
| __entry->parent, __entry->parent_refcount) | |
| ); | |
| TRACE_EVENT(objagg_obj_parent_unassign, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj, | |
| const struct objagg_obj *parent, | |
| unsigned int parent_refcount), | |
| TP_ARGS(objagg, obj, parent, parent_refcount), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| __field(const void *, parent) | |
| __field(unsigned int, parent_refcount) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| __entry->parent = parent; | |
| __entry->parent_refcount = parent_refcount; | |
| ), | |
| TP_printk("objagg %p, obj %p, parent %p, parent_refcount %u", | |
| __entry->objagg, __entry->obj, | |
| __entry->parent, __entry->parent_refcount) | |
| ); | |
| TRACE_EVENT(objagg_obj_root_create, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj), | |
| TP_ARGS(objagg, obj), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| ), | |
| TP_printk("objagg %p, obj %p", | |
| __entry->objagg, __entry->obj) | |
| ); | |
| TRACE_EVENT(objagg_obj_root_destroy, | |
| TP_PROTO(const struct objagg *objagg, | |
| const struct objagg_obj *obj), | |
| TP_ARGS(objagg, obj), | |
| TP_STRUCT__entry( | |
| __field(const void *, objagg) | |
| __field(const void *, obj) | |
| ), | |
| TP_fast_assign( | |
| __entry->objagg = objagg; | |
| __entry->obj = obj; | |
| ), | |
| TP_printk("objagg %p, obj %p", | |
| __entry->objagg, __entry->obj) | |
| ); | |
| #endif /* __TRACE_OBJAGG_H */ | |
| /* This part must be outside protection */ | |
| #include <trace/define_trace.h> |