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