diff options
author | Kalesh Singh <kaleshsingh@google.com> | 2021-07-27 15:17:29 +0000 |
---|---|---|
committer | Kalesh Singh <kaleshsingh@google.com> | 2021-07-28 13:45:15 +0000 |
commit | b9ba8cf2eb8519ede72176d1541599d194f1dfd1 (patch) | |
tree | c3210c5dcaad605fc2cecd58900eaca379e3a45d | |
parent | 2c7d7d9680fcd7d12c7a6bea4537c858bfd2ea1a (diff) | |
download | native-b9ba8cf2eb8519ede72176d1541599d194f1dfd1.tar.gz |
mm_events: Add knob to remove mm_event tracing instance
Only create mm_event tracing instance if
persist.mm_events.enabled=true. This saves ~5.5MB on low
memory devices that don't enable mm_events. The memory saved is
slab memory that would be allocated for the ftrace instance's
inode/dentry objects.
Set the per-CPU trace buffer sizes to 1KB by default to minimize
trace buffer memory usage if perfetto isn't started.
Also disable tracing by default, traced_probes will enable
as needed.
Bug: 194156702
Test: boot; ls /sys/kernel/tracing/instances -> No mm_events
Test: setprop persist.mm_events.enabled true; boot;
ls /sys/kernel/tracing/instances -> mm_events
Change-Id: I89d7e5e1cd0d32b5612bc419b1a1c4b8c3c8ade6
-rw-r--r-- | cmds/atrace/atrace.rc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/cmds/atrace/atrace.rc b/cmds/atrace/atrace.rc index 37fc9a9356..e3c4edebbd 100644 --- a/cmds/atrace/atrace.rc +++ b/cmds/atrace/atrace.rc @@ -266,7 +266,10 @@ on late-init chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu15/trace chmod 0666 /sys/kernel/tracing/per_cpu/cpu15/trace -on post-fs-data +# Only create the tracing instance if persist.mm_events.enabled +# Attempting to remove the tracing instance after it has been created +# will likely fail with EBUSY as it would be in use by traced_probes. +on post-fs-data && property:persist.mm_events.enabled=true # Create MM Events Tracing Instance for Kmem Activity Trigger mkdir /sys/kernel/debug/tracing/instances/mm_events 0755 system system mkdir /sys/kernel/tracing/instances/mm_events 0755 system system @@ -275,10 +278,18 @@ on post-fs-data chmod 0666 /sys/kernel/debug/tracing/instances/mm_events/buffer_size_kb chmod 0666 /sys/kernel/tracing/instances/mm_events/buffer_size_kb +# Set the default buffer size to the minimum + write /sys/kernel/debug/tracing/instances/mm_events/buffer_size_kb 1 + write /sys/kernel/tracing/instances/mm_events/buffer_size_kb 1 + # Read and enable tracing chmod 0666 /sys/kernel/debug/tracing/instances/mm_events/tracing_on chmod 0666 /sys/kernel/tracing/instances/mm_events/tracing_on +# Tracing disabled by default + write /sys/kernel/debug/tracing/instances/mm_events/tracing_on 0 + write /sys/kernel/tracing/instances/mm_events/tracing_on 0 + # Read and truncate kernel trace chmod 0666 /sys/kernel/debug/tracing/instances/mm_events/trace chmod 0666 /sys/kernel/tracing/instances/mm_events/trace |