Add additional system events 20/228620/3
authorSeungha Son <seungha.son@samsung.com>
Tue, 24 Mar 2020 07:08:08 +0000 (16:08 +0900)
committerSeungha Son <seungha.son@samsung.com>
Fri, 27 Mar 2020 09:20:24 +0000 (18:20 +0900)
 Add events based on kernel version 4.19.81.

Change-Id: I4b96d790b518dff794c5b2b06d6556e882d8b0c6
Signed-off-by: Seungha Son <seungha.son@samsung.com>
src/atrace/atrace.cpp

index b3fdb77c19e657b57fdf766415cc0d9adfbe4645..702eecf445f1e687f6bcb1c016f26582b45eb309 100755 (executable)
@@ -43,7 +43,7 @@
 #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";
@@ -96,10 +96,40 @@ static const TracingCategory k_categories[] = {
     { "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" },
@@ -112,6 +142,8 @@ static const TracingCategory k_categories[] = {
         { 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" },
@@ -120,11 +152,22 @@ static const TracingCategory k_categories[] = {
         { 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, { } },