/* 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 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