6db4831e98
Android 14
91 lines
2.2 KiB
C
91 lines
2.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2019 MediaTek Inc.
|
|
*/
|
|
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM mmstat
|
|
|
|
#if IS_ENABLED(CONFIG_MTK_GPU_SUPPORT)
|
|
extern bool mtk_get_gpu_memory_usage(unsigned int *pMemUsage);
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_MTK_ION)
|
|
extern size_t ion_mm_heap_total_memory(void);
|
|
#endif
|
|
|
|
#if !defined(__TRACE_MMSTAT_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define __TRACE_MMSTAT_H
|
|
|
|
#include <linux/tracepoint.h>
|
|
#include <linux/trace_seq.h>
|
|
|
|
const char *mmstat_trace_print_arrayset_seq(struct trace_seq*,
|
|
const void*, int, int);
|
|
#define __print_mmstat_array(array, len, sets) \
|
|
({ \
|
|
mmstat_trace_print_arrayset_seq(p, array, len, sets); \
|
|
})
|
|
|
|
/* num_entries should be a multiplie of set_size */
|
|
DECLARE_EVENT_CLASS(mmstat_trace_arrayset,
|
|
|
|
TP_PROTO(unsigned long *arrayset, size_t num_entries, size_t set_size),
|
|
|
|
TP_ARGS(arrayset, num_entries, set_size),
|
|
|
|
TP_STRUCT__entry(
|
|
__dynamic_array(unsigned long, arrayset, num_entries)
|
|
__field(size_t, num_entries)
|
|
__field(size_t, set_size)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
memcpy(__get_dynamic_array(arrayset), arrayset,
|
|
num_entries * sizeof(unsigned long));
|
|
__entry->num_entries = num_entries;
|
|
__entry->set_size = set_size;
|
|
),
|
|
|
|
TP_printk("%s", __print_mmstat_array(__get_dynamic_array(arrayset),
|
|
__entry->num_entries, __entry->set_size))
|
|
);
|
|
|
|
DEFINE_EVENT(mmstat_trace_arrayset, mmstat_trace_meminfo,
|
|
|
|
TP_PROTO(unsigned long *meminfo, size_t num_entries, size_t set_size),
|
|
|
|
TP_ARGS(meminfo, num_entries, set_size)
|
|
);
|
|
|
|
DEFINE_EVENT(mmstat_trace_arrayset, mmstat_trace_vmstat,
|
|
|
|
TP_PROTO(unsigned long *vmstat, size_t num_entries, size_t set_size),
|
|
|
|
TP_ARGS(vmstat, num_entries, set_size)
|
|
);
|
|
|
|
DEFINE_EVENT(mmstat_trace_arrayset, mmstat_trace_buddyinfo,
|
|
|
|
TP_PROTO(unsigned long *buddyinfo, size_t num_entries, size_t set_size),
|
|
|
|
TP_ARGS(buddyinfo, num_entries, set_size)
|
|
);
|
|
|
|
DEFINE_EVENT(mmstat_trace_arrayset, mmstat_trace_proc,
|
|
|
|
TP_PROTO(unsigned long *proc_array, size_t num_entries,
|
|
size_t set_size),
|
|
|
|
TP_ARGS(proc_array, num_entries, set_size)
|
|
);
|
|
#endif /* __TRACE_MMSTAT_H */
|
|
|
|
#undef TRACE_INCLUDE_PATH
|
|
#define TRACE_INCLUDE_PATH .
|
|
#undef TRACE_INCLUDE_FILE
|
|
#define TRACE_INCLUDE_FILE trace_mmstat
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|