diff options
author | David Howells | 2016-08-30 10:49:29 +0200 |
---|---|---|
committer | David Howells | 2016-08-30 17:02:36 +0200 |
commit | e34d4234b0b77a8a8b6dd7cf29aff468c288d9e4 (patch) | |
tree | c76b81204bb3b7e0294dc688a2f7ff0f970b83ad /net/rxrpc/ar-internal.h | |
parent | rxrpc: Calls should only have one terminal state (diff) | |
download | kernel-qcow2-linux-e34d4234b0b77a8a8b6dd7cf29aff468c288d9e4.tar.gz kernel-qcow2-linux-e34d4234b0b77a8a8b6dd7cf29aff468c288d9e4.tar.xz kernel-qcow2-linux-e34d4234b0b77a8a8b6dd7cf29aff468c288d9e4.zip |
rxrpc: Trace rxrpc_call usage
Add a trace event for debuging rxrpc_call struct usage.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/ar-internal.h')
-rw-r--r-- | net/rxrpc/ar-internal.h | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h index ce6afd931e91..0c320b2b7b43 100644 --- a/net/rxrpc/ar-internal.h +++ b/net/rxrpc/ar-internal.h @@ -543,7 +543,11 @@ struct rxrpc_call *rxrpc_incoming_call(struct rxrpc_sock *, struct sk_buff *); void rxrpc_release_call(struct rxrpc_call *); void rxrpc_release_calls_on_socket(struct rxrpc_sock *); -void __rxrpc_put_call(struct rxrpc_call *); +void rxrpc_see_call(struct rxrpc_call *); +void rxrpc_get_call(struct rxrpc_call *); +void rxrpc_put_call(struct rxrpc_call *); +void rxrpc_get_call_for_skb(struct rxrpc_call *, struct sk_buff *); +void rxrpc_put_call_for_skb(struct rxrpc_call *, struct sk_buff *); void __exit rxrpc_destroy_all_calls(void); static inline bool rxrpc_is_service_call(const struct rxrpc_call *call) @@ -1022,16 +1026,3 @@ do { \ } while (0) #endif /* __KDEBUGALL */ - - -#define rxrpc_get_call(CALL) \ -do { \ - CHECK_SLAB_OKAY(&(CALL)->usage); \ - if (atomic_inc_return(&(CALL)->usage) == 1) \ - BUG(); \ -} while (0) - -#define rxrpc_put_call(CALL) \ -do { \ - __rxrpc_put_call(CALL); \ -} while (0) |