-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mctp: Add tracepoints for tag/key handling
The tag allocation, release and bind events are somewhat opaque outside the kernel; this change adds a few tracepoints to assist in instrumentation and debugging. Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Jeremy Kerr
authored and
David S. Miller
committed
Sep 29, 2021
1 parent
7b14e15
commit 4f9e1ba
Showing
3 changed files
with
92 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
|
||
#undef TRACE_SYSTEM | ||
#define TRACE_SYSTEM mctp | ||
|
||
#if !defined(_TRACE_MCTP_H) || defined(TRACE_HEADER_MULTI_READ) | ||
#define _TRACE_MCTP_H | ||
|
||
#include <linux/tracepoint.h> | ||
|
||
#ifndef __TRACE_MCTP_ENUMS | ||
#define __TRACE_MCTP_ENUMS | ||
enum { | ||
MCTP_TRACE_KEY_TIMEOUT, | ||
MCTP_TRACE_KEY_REPLIED, | ||
MCTP_TRACE_KEY_INVALIDATED, | ||
MCTP_TRACE_KEY_CLOSED, | ||
}; | ||
#endif /* __TRACE_MCTP_ENUMS */ | ||
|
||
TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_TIMEOUT); | ||
TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_REPLIED); | ||
TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_INVALIDATED); | ||
TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_CLOSED); | ||
|
||
TRACE_EVENT(mctp_key_acquire, | ||
TP_PROTO(const struct mctp_sk_key *key), | ||
TP_ARGS(key), | ||
TP_STRUCT__entry( | ||
__field(__u8, paddr) | ||
__field(__u8, laddr) | ||
__field(__u8, tag) | ||
), | ||
TP_fast_assign( | ||
__entry->paddr = key->peer_addr; | ||
__entry->laddr = key->local_addr; | ||
__entry->tag = key->tag; | ||
), | ||
TP_printk("local %d, peer %d, tag %1x", | ||
__entry->laddr, | ||
__entry->paddr, | ||
__entry->tag | ||
) | ||
); | ||
|
||
TRACE_EVENT(mctp_key_release, | ||
TP_PROTO(const struct mctp_sk_key *key, int reason), | ||
TP_ARGS(key, reason), | ||
TP_STRUCT__entry( | ||
__field(__u8, paddr) | ||
__field(__u8, laddr) | ||
__field(__u8, tag) | ||
__field(int, reason) | ||
), | ||
TP_fast_assign( | ||
__entry->paddr = key->peer_addr; | ||
__entry->laddr = key->local_addr; | ||
__entry->tag = key->tag; | ||
__entry->reason = reason; | ||
), | ||
TP_printk("local %d, peer %d, tag %1x %s", | ||
__entry->laddr, | ||
__entry->paddr, | ||
__entry->tag, | ||
__print_symbolic(__entry->reason, | ||
{ MCTP_TRACE_KEY_TIMEOUT, "timeout" }, | ||
{ MCTP_TRACE_KEY_REPLIED, "replied" }, | ||
{ MCTP_TRACE_KEY_INVALIDATED, "invalidated" }, | ||
{ MCTP_TRACE_KEY_CLOSED, "closed" }) | ||
) | ||
); | ||
|
||
#endif | ||
|
||
#include <trace/define_trace.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters