blob: 4ec420d5245b30d8df8c7261e86131018278ef85 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM rwsem
4#define TRACE_INCLUDE_PATH trace/hooks
5#if !defined(_TRACE_HOOK_RWSEM_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_HOOK_RWSEM_H
7#include <linux/tracepoint.h>
8#include <trace/hooks/vendor_hooks.h>
9/*
10 * Following tracepoints are not exported in tracefs and provide a
11 * mechanism for vendor modules to hook and extend functionality
12 */
13struct rw_semaphore;
14struct rwsem_waiter;
15DECLARE_HOOK(android_vh_rwsem_init,
16 TP_PROTO(struct rw_semaphore *sem),
17 TP_ARGS(sem));
18DECLARE_HOOK(android_vh_rwsem_wake,
19 TP_PROTO(struct rw_semaphore *sem),
20 TP_ARGS(sem));
21DECLARE_HOOK(android_vh_rwsem_write_finished,
22 TP_PROTO(struct rw_semaphore *sem),
23 TP_ARGS(sem));
24DECLARE_HOOK(android_vh_alter_rwsem_list_add,
25 TP_PROTO(struct rwsem_waiter *waiter,
26 struct rw_semaphore *sem,
27 bool *already_on_list),
28 TP_ARGS(waiter, sem, already_on_list));
29
30/* macro versions of hooks are no longer required */
31
32#endif /* _TRACE_HOOK_RWSEM_H */
33/* This part must be outside protection */
34#include <trace/define_trace.h>