Merge "traced_probes: Update atrace categories"
diff --git a/src/traced/probes/ftrace/ftrace_config_muxer.cc b/src/traced/probes/ftrace/ftrace_config_muxer.cc
index 615398c..eaf109b 100644
--- a/src/traced/probes/ftrace/ftrace_config_muxer.cc
+++ b/src/traced/probes/ftrace/ftrace_config_muxer.cc
@@ -106,15 +106,22 @@
       if (category == "gfx") {
         AddEventGroup(table, "mdss", &events);
         AddEventGroup(table, "sde", &events);
+        AddEventGroup(table, "mali_systrace", &events);
+        continue;
+      }
+
+      if (category == "ion") {
+        events.insert(GroupAndName("kmem", "ion_alloc_buffer_start"));
         continue;
       }
 
       if (category == "sched") {
-        events.insert(GroupAndName(category, "sched_switch"));
-        events.insert(GroupAndName(category, "sched_wakeup"));
-        events.insert(GroupAndName(category, "sched_waking"));
-        events.insert(GroupAndName(category, "sched_blocked_reason"));
-        events.insert(GroupAndName(category, "sched_cpu_hotplug"));
+        events.insert(GroupAndName("sched", "sched_switch"));
+        events.insert(GroupAndName("sched", "sched_wakeup"));
+        events.insert(GroupAndName("sched", "sched_waking"));
+        events.insert(GroupAndName("sched", "sched_blocked_reason"));
+        events.insert(GroupAndName("sched", "sched_cpu_hotplug"));
+        events.insert(GroupAndName("sched", "sched_pi_setprio"));
         AddEventGroup(table, "cgroup", &events);
         continue;
       }
@@ -126,19 +133,27 @@
       }
 
       if (category == "irqoff") {
-        events.insert(GroupAndName(category, "irq_enable"));
-        events.insert(GroupAndName(category, "irq_disable"));
+        events.insert(GroupAndName("preemptirq", "irq_enable"));
+        events.insert(GroupAndName("preemptirq", "irq_disable"));
         continue;
       }
 
       if (category == "preemptoff") {
-        events.insert(GroupAndName(category, "preempt_enable"));
-        events.insert(GroupAndName(category, "preempt_disable"));
+        events.insert(GroupAndName("preemptirq", "preempt_enable"));
+        events.insert(GroupAndName("preemptirq", "preempt_disable"));
         continue;
       }
 
       if (category == "i2c") {
         AddEventGroup(table, "i2c", &events);
+        events.insert(GroupAndName("i2c", "i2c_read"));
+        events.insert(GroupAndName("i2c", "i2c_write"));
+        events.insert(GroupAndName("i2c", "i2c_result"));
+        events.insert(GroupAndName("i2c", "i2c_reply"));
+        events.insert(GroupAndName("i2c", "smbus_read"));
+        events.insert(GroupAndName("i2c", "smbus_write"));
+        events.insert(GroupAndName("i2c", "smbus_result"));
+        events.insert(GroupAndName("i2c", "smbus_reply"));
         continue;
       }
 
@@ -189,7 +204,12 @@
       }
 
       if (category == "sync") {
+        // linux kernel < 4.9
         AddEventGroup(table, "sync", &events);
+        // linux kernel == 4.9.x
+        AddEventGroup(table, "fence", &events);
+        // linux kernel > 4.9
+        AddEventGroup(table, "dma_fence", &events);
         continue;
       }
 
@@ -215,6 +235,7 @@
       if (category == "binder_driver") {
         events.insert(GroupAndName("binder", "binder_transaction"));
         events.insert(GroupAndName("binder", "binder_transaction_received"));
+        events.insert(GroupAndName("binder", "binder_transaction_alloc_buf"));
         events.insert(GroupAndName("binder", "binder_set_priority"));
         continue;
       }
@@ -227,7 +248,7 @@
       }
 
       if (category == "pagecache") {
-        AddEventGroup(table, "pagecache", &events);
+        AddEventGroup(table, "filemap", &events);
         continue;
       }