Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9ba8cf2 authored by Kalesh Singh's avatar Kalesh Singh
Browse files

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
parent 2c7d7d96
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -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