19 Jan, 2021

1 commit


14 Jan, 2021

2 commits

  • In order to debug critical domain and device power issues, it may be
    necessary to disallow certain idle states at runtime. Enable a vendor
    hook to check if a domain idle state is allowed for powering down the
    domain.

    Bug: 175718935
    Signed-off-by: Lina Iyer
    Change-Id: I403c0c7d272439fb338bbf54a346861559385047

    Lina Iyer
     
  • Add following vendor hooks in ftrace oops path to allow
    vendor modules to get ftrace buffer data.

    1) android_vh_ftrace_oops_enter
    2) android_vh_ftrace_size_check
    3) android_vh_ftrace_format_check
    4) android_vh_ftrace_dump_buffer
    5) android_vh_ftrace_oops_exit

    Ftrace dump on oops can be controlled with kernel command
    line parameter ftrace_dump_on_oops.

    Bug: 177387994
    Change-Id: I898026bfc3e5c5c5ab1eaa0e86a019a6a720408e
    Signed-off-by: Prateek Sood
    Signed-off-by: Mukesh Ojha

    Prateek Sood
     

08 Jan, 2021

2 commits


05 Jan, 2021

1 commit

  • When entering cluster-wide or system-wide power mode, Exynos cpu
    power management driver checks the next hrtimer events of cpu
    composing the power domain to prevent unnecessary attempts to enter
    the power mode. Since struct cpuidle_device has next_hrtimer, it
    can be solved by passing cpuidle device as a parameter of vh.

    In order to improve responsiveness, it is necessary to prevent
    entering the deep idle state in boosting scenario. So, vendor
    driver should be able to control the idle state.

    Due to above requirements, the parameters required for idle enter
    and exit different, so the vendor hook is separated into
    cpu_idle_enter and cpu_idle_exit.

    Bug: 176198732

    Change-Id: I2262ba1bae5e6622a8e76bc1d5d16fb27af0bb8a
    Signed-off-by: Park Bumgyu

    Park Bumgyu
     

22 Dec, 2020

1 commit


16 Dec, 2020

1 commit


11 Dec, 2020

1 commit


09 Dec, 2020

1 commit


04 Dec, 2020

2 commits

  • Add vendors hooks for to facilitate various scheduler value adds.

    Bug: 173725277
    Change-Id: I4389f2a8121fe7ac49ad4610e25a77bfc38f4660
    Signed-off-by: Shaleen Agrawal
    Signed-off-by: Pavankumar Kondeti

    Shaleen Agrawal
     
  • We have debug infrastructure built on top of preempt/irq disable/enable
    events. This requires modifications to the kernel tracing code. Since
    this is not feasible with GKI, we started with registering to the
    existing preemptirq trace events. However the performance of wide
    variety of use cases are regressed as the rate of preemptirq events
    is super high and generic trace events are slow.

    Since GKI allows optimized trace events via restricted trace hooks,
    add the same for preemptirq event.

    Bug: 174541725
    Change-Id: Ic8d3cdd1c1aa6a9267d0b755694fedffa2ea8e36
    Signed-off-by: Pavankumar Kondeti

    Pavankumar Kondeti
     

03 Dec, 2020

1 commit


02 Dec, 2020

1 commit

  • Create a vendor hook inside of gfp_zone() to modify which allocations
    get to enter ZONE_MOVABLE, by zeroing out __GFP_HIGHMEM inside of the
    trace hook based on certain conditions.

    Separately, create separate trace hooks in the swap-in and readahead
    paths to affect the behavior of the tracehook in gfp_zone().

    Bug: 158645321
    Change-Id: I4a4f0b724267ee120a1e5661f6da5d43d7ef6fc6
    Signed-off-by: Chris Goldsworthy

    Chris Goldsworthy
     

30 Nov, 2020

2 commits


28 Nov, 2020

3 commits

  • This is to add capability for vendor to decide whether a cpufreq update
    is needed, e.g. up/down rate limit.

    Using restricted hook since it can be called from scheduler wakeup path.

    Bug: 170511085
    Signed-off-by: Wei Wang
    Change-Id: If9adea3a3e31efbf3858fbd009665a07dc70c638
    (cherry picked from commit f9f3464532a045257f8138338b1beda86ef0a3be)
    Signed-off-by: Will McVicker

    Wei Wang
     
  • Upstream moved the sugov to DEADLINE class which has higher prio than RT
    so it can potentially block many RT use case in Android.

    Also currently iowait doesn't distinguish background/foreground tasks
    and we have seen cases where device run to high frequency unnecessarily
    when running some background I/O.

    Bug: 171598214
    Signed-off-by: Wei Wang
    Change-Id: I21e9bfe9ef75a4178279574389e417c3f38e65ac
    (cherry picked from commit 03177ef82bd942a3f163e826063491bae6ff0ac9)
    Signed-off-by: Will McVicker

    Wei Wang
     
  • Add hooks for vendor specific find_energy_efficient_cpu logic.

    Bug: 170507310
    Signed-off-by: Rick Yiu
    Change-Id: I064b501017e32d4f22f8128bed8bf3a1508ab15b
    (cherry picked from commit 2f108e2ec6e89609cbae32c5d13d6ad9f2e858cb)
    Signed-off-by: Will McVicker

    Rick Yiu
     

24 Nov, 2020

2 commits

  • The following restrict vendor hooks are added. The vendor hook
    can selectively opt in for the default scheduler behavior by not
    modifying the done argument.

    - android_rvh_sched_newidle_balance: For newly idle load balance.

    - android_rvh_sched_nohz_balancer_kick: For deciding if an idle
    CPU is woken up to do nohz balance or not.

    - android_rvh_find_busiest_queue: For selecting the busiest runqueue
    among the CPUs in the busiest group selected in find_busiest_group.

    - android_rvh_migrate_queued_task: Vendor implementations may require
    both source and destination CPUs runqueue locks to be held while
    calling set_task_cpu() during a task migration. Add a hook when
    a queued task is migration so that vendor implementation can detach
    the task and call set_task_cpu() with both runqueue locks held.

    Bug: 173661641
    Change-Id: I6a09226081061b6433e4231359be252a0f28f04b
    Signed-off-by: Pavankumar Kondeti

    Pavankumar Kondeti
     
  • QC value-add requires the ability to override the value displayed
    by show_cpuinfo_max_freq.

    Bug: 173984660
    Signed-off-by: Todd Kjos
    Change-Id: Ida11256f399f0730bc1228524b9687df3e7b8bf4

    Todd Kjos
     

14 Nov, 2020

1 commit

  • Add vendor hook to print epoch values when system enter and exit
    out of suspend and resume. These epoch values are useful to know
    how long the device is in suspend state. These values can be used
    to synchronize various subsystem timestamps and have an unique
    timestamp to correlate between various subsystems.

    Bug: 172945021
    Change-Id: I82a01e348d05a46c9c3921869cc9d2fc0fd28867
    Signed-off-by: Murali Nalajala

    Murali Nalajala
     

12 Nov, 2020

1 commit


11 Nov, 2020

2 commits


06 Nov, 2020

1 commit


15 Oct, 2020

1 commit


08 Oct, 2020

1 commit

  • When a kernel panic occurred, it is sometimes caused by a other cpu
    than the panic cpu. When a panic cpu sends smp stop IPI, it can help to
    solve the problem even more if aonther cpu stores registers and
    run cache flush.

    Bug: 165956922

    Change-Id: I747f776456330d904015cfe4ae423e4b63f18f85
    Signed-off-by: Changki Kim
    Signed-off-by: Will McVicker
    Signed-off-by: Jonglin Lee

    Changki Kim
     

07 Oct, 2020

1 commit


21 Sep, 2020

1 commit


11 Sep, 2020

1 commit


28 Aug, 2020

1 commit


21 Aug, 2020

2 commits


20 Aug, 2020

1 commit

  • An event that gather the idle state that the cpu attempted to enter and
    actually entered is added. Through this, the idle statistics of the cpu
    can be obtained and used for vendor specific algorithms or for system
    analysis.

    Bug: 162980647

    Change-Id: I9c2491d524722042e881864488f7b3cf7e903d1e
    Signed-off-by: Park Bumgyu

    Park Bumgyu
     

19 Aug, 2020

1 commit

  • - Add the hook to get mutex/rwsem information that the tasks
    are waiting for.

    - Add the hook to print messages for sched_show_task.

    - ANDROID_VENDOR_DATA_ARRAY added to task_struct

    Bug: 162776704

    Signed-off-by: Sangmoon Kim
    Change-Id: Ib436fbd8d0ad509c3b5a73ea8f5170e0761a13fd
    (cherry picked from commit b519ac423787d38f467ca479d2126b7204d6f498)

    Sangmoon Kim
     

13 Aug, 2020

2 commits


28 Jul, 2020

2 commits

  • - Add the hook to apply vendor's performance tune for owner
    of rwsem.

    - Add the hook for the waiter list of rwsem to allow
    vendor perform waiting queue enhancement

    - ANDROID_VENDOR_DATA added to rw_semaphore

    Bug: 161400830

    Signed-off-by: JianMin Liu
    Change-Id: I007a5e26f3db2adaeaf4e5ccea414ce7abfa83b8

    JianMin Liu
     
  • - To apply vendor's performance tune for blocked binder transaction,
    add the hook on the begin/end of transaction.

    - ANDROID_VENDOR_DATA added to binder_transaction.

    Bug: 161400830

    Signed-off-by: JianMin Liu
    Change-Id: If60870623ce2669200238172737dd8455ac34b02

    JianMin Liu