#define DEF_GR_SIZE 1024
#define NELEM(x) ((int) (sizeof(x) / sizeof((x)[0])))
-enum { MAX_SYS_FILES = 8 };
+enum { MAX_SYS_FILES = 11 };
const char* k_traceTagsProperty = "debug.atrace.tags.enableflags";
const char* k_traceAppCmdlineProperty = "debug.atrace.app_cmdlines";
{ "sched", "CPU Scheduling", 0, {
{ REQ, "/sys/kernel/debug/tracing/events/sched/sched_switch/enable" },
{ REQ, "/sys/kernel/debug/tracing/events/sched/sched_wakeup/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/sched/sched_waking/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/sched/sched_pi_setprio/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/sched/sched_process_exit/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/cgroup/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/oom/oom_score_adj_update/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/task/task_rename/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/task/task_newtask/enable" },
+ } },
+ { "irq", "IRQ Events", 0, {
+ { REQ, "/sys/kernel/debug/tracing/events/irq/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/ipi/enable" },
+ } },
+ { "irqoff", "IRQ-disabled code section tracing", 0, {
+ { REQ, "/sys/kernel/debug/tracing/events/preemptirq/irq_enable/enable" },
+ { REQ, "/sys/kernel/debug/tracing/events/preemptirq/irq_disable/enable" },
+ } },
+ { "i2c", "I2C Events", 0, {
+ { REQ, "/sys/kernel/debug/tracing/events/i2c/enable" },
+ { REQ, "/sys/kernel/debug/tracing/events/i2c/i2c_read/enable" },
+ { REQ, "/sys/kernel/debug/tracing/events/i2c/i2c_write/enable" },
+ { REQ, "/sys/kernel/debug/tracing/events/i2c/i2c_result/enable" },
+ { REQ, "/sys/kernel/debug/tracing/events/i2c/i2c_reply/enable" },
} },
{ "freq", "CPU Frequency", 0, {
{ REQ, "/sys/kernel/debug/tracing/events/power/cpu_frequency/enable" },
{ OPT, "/sys/kernel/debug/tracing/events/power/clock_set_rate/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/power/clock_set_rate/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/power/clock_disable/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/power/clock_enable/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/clk/clk_set_rate/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/clk/clk_disable/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/clk/clk_enable/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/power/cpu_frequency_limits/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/power/suspend_resume/enable" },
} },
{ "membus", "Memory Bus Utilization", 0, {
{ REQ, "/sys/kernel/debug/tracing/events/memory_bus/enable" },
{ REQ, "/sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable" },
{ REQ, "/sys/kernel/debug/tracing/events/block/block_rq_issue/enable" },
{ REQ, "/sys/kernel/debug/tracing/events/block/block_rq_complete/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/ext4/ext4_da_write_begin/enable" },
+ { OPT, "/sys/kernel/debug/tracing/events/ext4/ext4_da_write_end/enable" },
} },
{ "mmc", "eMMC commands", 0, {
{ REQ, "/sys/kernel/debug/tracing/events/mmc/enable" },
{ REQ, "/sys/kernel/debug/tracing/events/cpufreq_interactive/enable" },
} },
{ "sync", "Synchronization", 0, {
- { REQ, "/sys/kernel/debug/tracing/events/sync/enable" },
+ // linux kernel < 4.9
+ { OPT, "/sys/kernel/debug/tracing/events/sync/enable" },
+ // linux kernel == 4.9.x
+ { OPT, "/sys/kernel/debug/tracing/events/fence/enable" },
+ // linux kernel > 4.9
+ { OPT, "/sys/kernel/debug/tracing/events/dma_fence/enable" },
} },
{ "workq", "Kernel Workqueues", 0, {
{ REQ, "/sys/kernel/debug/tracing/events/workqueue/enable" },
} },
+ { "regulators", "Voltage and Current Regulators", 0, {
+ { REQ, "/sys/kernel/debug/tracing/events/regulator/enable" },
+ } },
+ { "pagecache", "Page cache", 0, {
+ { REQ, "/sys/kernel/debug/tracing/events/filemap/enable" },
+ } },
#ifdef TTRACE_PROFILE_MOBILE
#elif defined TTRACE_PROFILE_TV
{ "system", "System", TTRACE_TAG_SYSTEM, { } },