kernel_samsung_a34x-permissive/kernel/trace/trace_mmstat.h

91 lines
2.2 KiB
C
Raw Normal View History

/* 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>