summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinchan Kim <minchan@google.com>2022-11-07 10:43:09 -0800
committerMinchan Kim <minchan@google.com>2022-11-11 09:44:39 -0800
commit786f5471e9f87bd9f67470b19654918e458ebb1e (patch)
tree9bf51c6e7b21280bbc5424d789ba2503a93feacc
parent64284745bb8d31195e1861ce0e1b18fba3603ed9 (diff)
MM: dump pixel trace at bugreport
Create pixel speicifc trace buffer and enable CMA trace events. At bugreport, dumpstate will dump the trace buffer into dumpstate_board.txt binder:3947_2-3963 [003] .... 29.954681: cma_alloc_start: name=vframe count=16 align=4 binder:3947_2-3963 [003] .... 29.956230: cma_alloc_finish: name=vframe pfn=946080 page=000000003d6b380b count=16 align=4 binder:3947_2-3963 [003] .... 29.956235: cma_alloc_info: name=vframe pfn=0x946080 count=16 align=4 nr_migrated=16 nr_reclaimed=0 nr_mapped=16 err_iso=0 err_mig=0 err_test=0 binder:3947_2-3963 [003] .... 29.988325: cma_release: name=vframe pfn=946080 page=000000003d6b380b count=16 It's useful to investigate CMA allocation problems. Test: "adb bugreport" includes the trace dump in dumpstate_board.txt Bug: 238728493 Change-Id: I5eb2f79152d32ff7dbb4b9a7ea679facb186aa00 Signed-off-by: Minchan Kim <minchan@google.com>
-rw-r--r--mm/pixel-mm-gki.rc33
1 files changed, 33 insertions, 0 deletions
diff --git a/mm/pixel-mm-gki.rc b/mm/pixel-mm-gki.rc
index fa2cd35..6119a72 100644
--- a/mm/pixel-mm-gki.rc
+++ b/mm/pixel-mm-gki.rc
@@ -32,3 +32,36 @@ on property:sys.boot_completed=1
on property:sys.boot_completed=1
chmod 444 /sys/kernel/debug/page_owner
+
+ # Create mm_event trace point.
+ # For legacy devices, only mm_event is using this trace instance.
+ # Debugfs is only used in legacy devices and going to be deprecated.
+ # If others want to put more,it should get hard review from pixel-perf-team.
+ mkdir /sys/kernel/tracing/instances/pixel 0755 system system
+ chown system system /sys/kernel/tracing/instances/pixel/trace
+ chmod 0660 /sys/kernel/tracing/instances/pixel/trace
+ chown system system /sys/kernel/tracing/instances/pixel/tracing_on
+ chmod 0660 /sys/kernel/tracing/instances/pixel/tracing_on
+ write /sys/kernel/tracing/instances/pixel/buffer_size_kb 64
+ write /sys/kernel/tracing/instances/pixel/events/cma/cma_alloc_busy_retry/enable 1
+ write /sys/kernel/tracing/instances/pixel/events/cma/cma_alloc_start/enable 1
+ write /sys/kernel/tracing/instances/pixel/events/cma/cma_alloc_info/enable 1
+
+# turns off tracing right before bugreporting to keep more traces
+on property:init.svc.dumpstatez=running
+ write /sys/kernel/tracing/instances/pixel/tracing_on 0
+
+on property:init.svc.dumpstatez=stopped
+ write /sys/kernel/tracing/instances/pixel/tracing_on 1
+
+on property:init.svc.bugreport=running
+ write /sys/kernel/tracing/instances/pixel/tracing_on 0
+
+on property:init.svc.bugreport=stopped
+ write /sys/kernel/tracing/instances/pixel/tracing_on 1
+
+on property:init.svc.bugreportd=running
+ write /sys/kernel/tracing/instances/pixel/tracing_on 0
+
+on property:init.svc.bugreportd=stopped
+ write /sys/kernel/tracing/instances/pixel/tracing_on 1