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

Commit 61eff6b7 authored by Kalesh Singh's avatar Kalesh Singh
Browse files

atrace: Setup throttled rss_stat event

Create a synthetic rss_stat_throttled event that is triggered from the
rss_stat event every time the rss size crosses a 512KB boundary.

Bug: 145972256
Test: ls /sys/kernel/tracing/events/synthetic
      cat /sys/kernel/tracing/events/kmem/rss_stat/trigger
Change-Id: I653397f756c60fa274f1e0198974d868945b8d99
parent 35de4cf0
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -266,6 +266,21 @@ on late-init
    chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu15/trace
    chmod 0666 /sys/kernel/tracing/per_cpu/cpu15/trace

# Setup synthetic events
    chmod 0666 /sys/kernel/tracing/synthetic_events
    chmod 0666 /sys/kernel/debug/tracing/synthetic_events

    # rss_stat_throttled
    write /sys/kernel/tracing/synthetic_events "rss_stat_throttled unsigned int mm_id; unsigned int curr; int member; long size"
    write /sys/kernel/debug/tracing/synthetic_events "rss_stat_throttled unsigned int mm_id; unsigned int curr; int member; long size"

# Set up histogram triggers
    # rss_stat_throttled (bucket size == 512KB)
    chmod 0666 /sys/kernel/tracing/events/kmem/rss_stat/trigger
    chmod 0666 /sys/kernel/debug/tracing/events/kmem/rss_stat/trigger
    write /sys/kernel/tracing/events/kmem/rss_stat/trigger "hist:keys=mm_id,member:bucket=size/0x80000:onchange($$bucket).rss_stat_throttled(mm_id,curr,member,size)"
    write /sys/kernel/debug/tracing/events/kmem/rss_stat/trigger "hist:keys=mm_id,member:bucket=size/0x80000:onchange($$bucket).rss_stat_throttled(mm_id,curr,member,size)"

# 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.