
timerfd doesn't create any wakelocks, but eventpoll can. When it does, it names them after the underlying file descriptor, and since all timerfd file descriptors are named "[timerfd]" (which saves memory on systems like desktops with potentially many timerfd instances), all wakesources created as a result of using the eventpoll-on-timerfd idiom are called... "[timerfd]". However, it becomes impossible to tell which "[timerfd]" wakesource is affliated with which process and hence troubleshooting is difficult. Adding vendor hooks to allow vendor to assign appropriate names to timerfd descriptors and eventoll wakesource. Bug: 155142106 Signed-off-by: Manish Varma <varmam@google.com> Change-Id: I330a42ab48bed4b26d5eb2f636925c66061165ec
24 lines
615 B
C
24 lines
615 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM fs
|
|
|
|
#undef TRACE_INCLUDE_PATH
|
|
#define TRACE_INCLUDE_PATH trace/hooks
|
|
|
|
#if !defined(_TRACE_HOOK_FS_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _TRACE_HOOK_FS_H
|
|
|
|
#include <linux/tracepoint.h>
|
|
#include <trace/hooks/vendor_hooks.h>
|
|
DECLARE_HOOK(android_vh_ep_create_wakeup_source,
|
|
TP_PROTO(char *name, int len),
|
|
TP_ARGS(name, len));
|
|
|
|
DECLARE_HOOK(android_vh_timerfd_create,
|
|
TP_PROTO(char *name, int len),
|
|
TP_ARGS(name, len));
|
|
#endif /* _TRACE_HOOK_FS_H */
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|