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

Commit b559dd1d authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 4557233 from 873eabc5 to pi-release

Change-Id: Id5f6664e3c5f19b9267e9f997caa4a5866545023
parents 716070ae 873eabc5
Loading
Loading
Loading
Loading
+76 −131
Original line number Diff line number Diff line
@@ -6,141 +6,86 @@ on post-fs
    chmod 0222 /sys/kernel/debug/tracing/trace_marker
    chmod 0222 /sys/kernel/tracing/trace_marker

# Allow the shell group to enable (some) kernel tracing.
    chown root shell /sys/kernel/debug/tracing/trace_clock
    chown root shell /sys/kernel/tracing/trace_clock
    chown root shell /sys/kernel/debug/tracing/buffer_size_kb
    chown root shell /sys/kernel/tracing/buffer_size_kb
    chown root shell /sys/kernel/debug/tracing/options/overwrite
    chown root shell /sys/kernel/tracing/options/overwrite
    chown root shell /sys/kernel/debug/tracing/options/print-tgid
    chown root shell /sys/kernel/tracing/options/print-tgid
    chown root shell /sys/kernel/debug/tracing/saved_cmdlines_size
    chown root shell /sys/kernel/tracing/saved_cmdlines_size
    chown root shell /sys/kernel/debug/tracing/events/sched/sched_switch/enable
    chown root shell /sys/kernel/tracing/events/sched/sched_switch/enable
    chown root shell /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
    chown root shell /sys/kernel/tracing/events/sched/sched_wakeup/enable
    chown root shell /sys/kernel/debug/tracing/events/sched/sched_blocked_reason/enable
    chown root shell /sys/kernel/tracing/events/sched/sched_blocked_reason/enable
    chown root shell /sys/kernel/debug/tracing/events/sched/sched_cpu_hotplug/enable
    chown root shell /sys/kernel/tracing/events/sched/sched_cpu_hotplug/enable
    chown root shell /sys/kernel/debug/tracing/events/cgroup/enable
    chown root shell /sys/kernel/tracing/events/cgroup/enable
    chown root shell /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
    chown root shell /sys/kernel/tracing/events/power/cpu_frequency/enable
    chown root shell /sys/kernel/debug/tracing/events/power/cpu_idle/enable
    chown root shell /sys/kernel/tracing/events/power/cpu_idle/enable
    chown root shell /sys/kernel/debug/tracing/events/power/clock_set_rate/enable
    chown root shell /sys/kernel/tracing/events/power/clock_set_rate/enable
    chown root shell /sys/kernel/debug/tracing/events/power/cpu_frequency_limits/enable
    chown root shell /sys/kernel/tracing/events/power/cpu_frequency_limits/enable
    chown root shell /sys/kernel/debug/tracing/events/cpufreq_interactive/enable
    chown root shell /sys/kernel/tracing/events/cpufreq_interactive/enable
    chown root shell /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
    chown root shell /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
    chown root shell /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
    chown root shell /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
    chown root shell /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
    chown root shell /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
    chown root shell /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
    chown root shell /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
    chown root shell /sys/kernel/debug/tracing/events/binder/binder_transaction/enable
    chown root shell /sys/kernel/tracing/events/binder/binder_transaction/enable
    chown root shell /sys/kernel/debug/tracing/events/binder/binder_transaction_received/enable
    chown root shell /sys/kernel/tracing/events/binder/binder_transaction_received/enable
    chown root shell /sys/kernel/debug/tracing/events/binder/binder_lock/enable
    chown root shell /sys/kernel/tracing/events/binder/binder_lock/enable
    chown root shell /sys/kernel/debug/tracing/events/binder/binder_locked/enable
    chown root shell /sys/kernel/tracing/events/binder/binder_locked/enable
    chown root shell /sys/kernel/debug/tracing/events/binder/binder_unlock/enable
    chown root shell /sys/kernel/tracing/events/binder/binder_unlock/enable
    chown root shell /sys/kernel/debug/tracing/events/lowmemorykiller/enable
    chown root shell /sys/kernel/tracing/events/lowmemorykiller/enable

    chown root shell /sys/kernel/debug/tracing/tracing_on
    chown root shell /sys/kernel/tracing/tracing_on

    chmod 0664 /sys/kernel/debug/tracing/trace_clock
    chmod 0664 /sys/kernel/tracing/trace_clock
    chmod 0664 /sys/kernel/debug/tracing/buffer_size_kb
    chmod 0664 /sys/kernel/tracing/buffer_size_kb
    chmod 0664 /sys/kernel/debug/tracing/options/overwrite
    chmod 0664 /sys/kernel/tracing/options/overwrite
    chmod 0664 /sys/kernel/debug/tracing/options/print-tgid
    chmod 0664 /sys/kernel/tracing/options/print-tgid
    chmod 0664 /sys/kernel/debug/tracing/saved_cmdlines_size
    chmod 0664 /sys/kernel/tracing/saved_cmdlines_size
    chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_switch/enable
    chmod 0664 /sys/kernel/tracing/events/sched/sched_switch/enable
    chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
    chmod 0664 /sys/kernel/tracing/events/sched/sched_wakeup/enable
    chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_blocked_reason/enable
    chmod 0664 /sys/kernel/tracing/events/sched/sched_blocked_reason/enable
    chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_cpu_hotplug/enable
    chmod 0664 /sys/kernel/tracing/events/sched/sched_cpu_hotplug/enable
    chmod 0664 /sys/kernel/debug/tracing/events/cgroup/enable
    chmod 0664 /sys/kernel/tracing/events/cgroup/enable
    chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
    chmod 0664 /sys/kernel/tracing/events/power/cpu_frequency/enable
    chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_idle/enable
    chmod 0664 /sys/kernel/tracing/events/power/cpu_idle/enable
    chmod 0664 /sys/kernel/debug/tracing/events/power/clock_set_rate/enable
    chmod 0664 /sys/kernel/tracing/events/power/clock_set_rate/enable
    chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_frequency_limits/enable
    chmod 0664 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable
    chmod 0664 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable
    chmod 0664 /sys/kernel/tracing/events/cpufreq_interactive/enable
    chmod 0664 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
    chmod 0664 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
    chmod 0664 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
    chmod 0664 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
    chmod 0664 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
    chmod 0664 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
    chmod 0664 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
    chmod 0664 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
    chmod 0664 /sys/kernel/debug/tracing/tracing_on
    chmod 0664 /sys/kernel/tracing/tracing_on
    chmod 0664 /sys/kernel/debug/tracing/events/binder/binder_transaction/enable
    chmod 0664 /sys/kernel/tracing/events/binder/binder_transaction/enable
    chmod 0664 /sys/kernel/debug/tracing/events/binder/binder_transaction_received/enable
    chmod 0664 /sys/kernel/tracing/events/binder/binder_transaction_received/enable
    chmod 0664 /sys/kernel/debug/tracing/events/binder/binder_lock/enable
    chmod 0664 /sys/kernel/tracing/events/binder/binder_lock/enable
    chmod 0664 /sys/kernel/debug/tracing/events/binder/binder_locked/enable
    chmod 0664 /sys/kernel/tracing/events/binder/binder_locked/enable
    chmod 0664 /sys/kernel/debug/tracing/events/binder/binder_unlock/enable
    chmod 0664 /sys/kernel/tracing/events/binder/binder_unlock/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/i2c_read/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/i2c_read/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/i2c_write/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/i2c_write/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/i2c_result/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/i2c_result/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/i2c_reply/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/i2c_reply/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/smbus_read/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/smbus_read/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/smbus_write/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/smbus_write/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/smbus_result/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/smbus_result/enable
    chmod 0664 /sys/kernel/debug/tracing/events/i2c/smbus_reply/enable
    chmod 0664 /sys/kernel/tracing/events/i2c/smbus_reply/enable
    chmod 0664 /sys/kernel/debug/tracing/events/lowmemorykiller/enable
    chmod 0664 /sys/kernel/tracing/events/lowmemorykiller/enable
# Grant unix world read/write permissions to kernel tracepoints.
# Access control to these files is now entirely in selinux policy.
    chmod 0666 /sys/kernel/debug/tracing/trace_clock
    chmod 0666 /sys/kernel/tracing/trace_clock
    chmod 0666 /sys/kernel/debug/tracing/buffer_size_kb
    chmod 0666 /sys/kernel/tracing/buffer_size_kb
    chmod 0666 /sys/kernel/debug/tracing/options/overwrite
    chmod 0666 /sys/kernel/tracing/options/overwrite
    chmod 0666 /sys/kernel/debug/tracing/options/print-tgid
    chmod 0666 /sys/kernel/tracing/options/print-tgid
    chmod 0666 /sys/kernel/debug/tracing/saved_cmdlines_size
    chmod 0666 /sys/kernel/tracing/saved_cmdlines_size
    chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_switch/enable
    chmod 0666 /sys/kernel/tracing/events/sched/sched_switch/enable
    chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
    chmod 0666 /sys/kernel/tracing/events/sched/sched_wakeup/enable
    chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_blocked_reason/enable
    chmod 0666 /sys/kernel/tracing/events/sched/sched_blocked_reason/enable
    chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_cpu_hotplug/enable
    chmod 0666 /sys/kernel/tracing/events/sched/sched_cpu_hotplug/enable
    chmod 0666 /sys/kernel/debug/tracing/events/cgroup/enable
    chmod 0666 /sys/kernel/tracing/events/cgroup/enable
    chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
    chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency/enable
    chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_idle/enable
    chmod 0666 /sys/kernel/tracing/events/power/cpu_idle/enable
    chmod 0666 /sys/kernel/debug/tracing/events/power/clock_set_rate/enable
    chmod 0666 /sys/kernel/tracing/events/power/clock_set_rate/enable
    chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_frequency_limits/enable
    chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable
    chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable
    chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable
    chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
    chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
    chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
    chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
    chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
    chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
    chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
    chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
    chmod 0666 /sys/kernel/debug/tracing/tracing_on
    chmod 0666 /sys/kernel/tracing/tracing_on
    chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction/enable
    chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction/enable
    chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction_received/enable
    chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction_received/enable
    chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_lock/enable
    chmod 0666 /sys/kernel/tracing/events/binder/binder_lock/enable
    chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_locked/enable
    chmod 0666 /sys/kernel/tracing/events/binder/binder_locked/enable
    chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_unlock/enable
    chmod 0666 /sys/kernel/tracing/events/binder/binder_unlock/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_read/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/i2c_read/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_write/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/i2c_write/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_result/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/i2c_result/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_reply/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/i2c_reply/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_read/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/smbus_read/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_write/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/smbus_write/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_result/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/smbus_result/enable
    chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_reply/enable
    chmod 0666 /sys/kernel/tracing/events/i2c/smbus_reply/enable
    chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/enable
    chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/enable

# Tracing disabled by default
    write /sys/kernel/debug/tracing/tracing_on 0
    write /sys/kernel/tracing/tracing_on 0

# Allow only the shell group to read and truncate the kernel trace.
    chown root shell /sys/kernel/debug/tracing/trace
    chown root shell /sys/kernel/tracing/trace
    chmod 0660 /sys/kernel/debug/tracing/trace
    chmod 0660 /sys/kernel/tracing/trace
# Read and truncate the kernel trace.
    chmod 0666 /sys/kernel/debug/tracing/trace
    chmod 0666 /sys/kernel/tracing/trace

on property:persist.debug.atrace.boottrace=1
    start boottrace
+34 −38
Original line number Diff line number Diff line
## Permissions to allow additional system-wide tracing to the kernel trace buffer.
## The default list of permissions is set in frameworks/native/cmds/atrace/atrace.rc

# Allow the shell group to enable kernel tracepoints:
# Grant unix world read/write permissions to enable kernel tracepoints.
# Access control to these files is now entirely in selinux policy.

on post-fs
    chown root shell /sys/kernel/debug/tracing/events/sync/enable
    chown root shell /sys/kernel/debug/tracing/events/workqueue/enable
    chown root shell /sys/kernel/debug/tracing/events/regulator/enable
    chown root shell /sys/kernel/debug/tracing/events/pagecache/enable
    chmod 0666 /sys/kernel/tracing/events/sync/enable
    chmod 0666 /sys/kernel/debug/tracing/events/sync/enable
    chmod 0666 /sys/kernel/tracing/events/workqueue/enable
    chmod 0666 /sys/kernel/debug/tracing/events/workqueue/enable
    chmod 0666 /sys/kernel/tracing/events/regulator/enable
    chmod 0666 /sys/kernel/debug/tracing/events/regulator/enable
    chmod 0666 /sys/kernel/tracing/events/pagecache/enable
    chmod 0666 /sys/kernel/debug/tracing/events/pagecache/enable

    # irq
    chown root shell /sys/kernel/debug/tracing/events/irq/enable
    chown root shell /sys/kernel/debug/tracing/events/ipi/enable
    chmod 0666 /sys/kernel/tracing/events/irq/enable
    chmod 0666 /sys/kernel/debug/tracing/events/irq/enable
    chmod 0666 /sys/kernel/tracing/events/ipi/enable
    chmod 0666 /sys/kernel/debug/tracing/events/ipi/enable

    # disk
    chown root shell /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_enter/enable
    chown root shell /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_exit/enable
    chown root shell /sys/kernel/debug/tracing/events/f2fs/f2fs_write_begin/enable
    chown root shell /sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/enable
    chown root shell /sys/kernel/debug/tracing/events/ext4/ext4_da_write_begin/enable
    chown root shell /sys/kernel/debug/tracing/events/ext4/ext4_da_write_end/enable
    chown root shell /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable
    chown root shell /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable
    chown root shell /sys/kernel/debug/tracing/events/block/block_rq_issue/enable
    chown root shell /sys/kernel/debug/tracing/events/block/block_rq_complete/enable

    chmod 0664 /sys/kernel/debug/tracing/events/sync/enable
    chmod 0664 /sys/kernel/debug/tracing/events/workqueue/enable
    chmod 0664 /sys/kernel/debug/tracing/events/regulator/enable
    chmod 0664 /sys/kernel/debug/tracing/events/pagecache/enable

    # irq
    chmod 0664 /sys/kernel/debug/tracing/events/irq/enable
    chmod 0664 /sys/kernel/debug/tracing/events/ipi/enable

    # disk
    chmod 0664 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_enter/enable
    chmod 0664 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_exit/enable
    chmod 0664 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_begin/enable
    chmod 0664 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/enable
    chmod 0664 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_begin/enable
    chmod 0664 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_end/enable
    chmod 0664 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable
    chmod 0664 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable
    chmod 0664 /sys/kernel/debug/tracing/events/block/block_rq_issue/enable
    chmod 0664 /sys/kernel/debug/tracing/events/block/block_rq_complete/enable
    chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_enter/enable
    chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_enter/enable
    chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_exit/enable
    chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_exit/enable
    chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_write_begin/enable
    chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_begin/enable
    chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_write_end/enable
    chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/enable
    chmod 0666 /sys/kernel/tracing/events/ext4/ext4_da_write_begin/enable
    chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_begin/enable
    chmod 0666 /sys/kernel/tracing/events/ext4/ext4_da_write_end/enable
    chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_end/enable
    chmod 0666 /sys/kernel/tracing/events/ext4/ext4_sync_file_enter/enable
    chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable
    chmod 0666 /sys/kernel/tracing/events/ext4/ext4_sync_file_exit/enable
    chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable
    chmod 0666 /sys/kernel/tracing/events/block/block_rq_issue/enable
    chmod 0666 /sys/kernel/debug/tracing/events/block/block_rq_issue/enable
    chmod 0666 /sys/kernel/tracing/events/block/block_rq_complete/enable
    chmod 0666 /sys/kernel/debug/tracing/events/block/block_rq_complete/enable
+22 −25
Original line number Diff line number Diff line
@@ -657,12 +657,18 @@ static int dump_stat_from_fd(const char *title __unused, const char *path, int f
    return 0;
}

/* timeout in ms */
static unsigned long logcat_timeout(const char *name) {
    log_id_t id = android_name_to_log_id(name);
static const long MINIMUM_LOGCAT_TIMEOUT_MS = 50000;

/* timeout in ms to read a list of buffers */
static unsigned long logcat_timeout(const std::vector<std::string>& buffers) {
    unsigned long timeout_ms = 0;
    for (const auto& buffer : buffers) {
        log_id_t id = android_name_to_log_id(buffer.c_str());
        unsigned long property_size = __android_logger_get_buffer_size(id);
        /* Engineering margin is ten-fold our guess */
    return 10 * (property_size + worst_write_perf) / worst_write_perf;
        timeout_ms += 10 * (property_size + worst_write_perf) / worst_write_perf;
    }
    return timeout_ms > MINIMUM_LOGCAT_TIMEOUT_MS ? timeout_ms : MINIMUM_LOGCAT_TIMEOUT_MS;
}

void Dumpstate::PrintHeader() const {
@@ -831,13 +837,8 @@ static void DoKmsg() {
    }
}

static const long MINIMUM_LOGCAT_TIMEOUT_MS = 50000;

static void DoKernelLogcat() {
    unsigned long timeout_ms = logcat_timeout("kernel");
    if (timeout_ms < MINIMUM_LOGCAT_TIMEOUT_MS) {
        timeout_ms = MINIMUM_LOGCAT_TIMEOUT_MS;
    }
    unsigned long timeout_ms = logcat_timeout({"kernel"});
    RunCommand(
        "KERNEL LOG",
        {"logcat", "-b", "kernel", "-v", "threadtime", "-v", "printable", "-v", "uid", "-d", "*:v"},
@@ -848,25 +849,21 @@ static void DoLogcat() {
    unsigned long timeout_ms;
    // DumpFile("EVENT LOG TAGS", "/etc/event-log-tags");
    // calculate timeout
    timeout_ms = logcat_timeout("main") + logcat_timeout("system") + logcat_timeout("crash");
    if (timeout_ms < MINIMUM_LOGCAT_TIMEOUT_MS) {
        timeout_ms = MINIMUM_LOGCAT_TIMEOUT_MS;
    }
    timeout_ms = logcat_timeout({"main", "system", "crash"});
    RunCommand("SYSTEM LOG",
               {"logcat", "-v", "threadtime", "-v", "printable", "-v", "uid", "-d", "*:v"},
               CommandOptions::WithTimeoutInMs(timeout_ms).Build());
    timeout_ms = logcat_timeout("events");
    if (timeout_ms < MINIMUM_LOGCAT_TIMEOUT_MS) {
        timeout_ms = MINIMUM_LOGCAT_TIMEOUT_MS;
    }
    timeout_ms = logcat_timeout({"events"});
    RunCommand(
        "EVENT LOG",
        {"logcat", "-b", "events", "-v", "threadtime", "-v", "printable", "-v", "uid", "-d", "*:v"},
        CommandOptions::WithTimeoutInMs(timeout_ms).Build());
    timeout_ms = logcat_timeout("radio");
    if (timeout_ms < MINIMUM_LOGCAT_TIMEOUT_MS) {
        timeout_ms = MINIMUM_LOGCAT_TIMEOUT_MS;
    }
    timeout_ms = logcat_timeout({"stats"});
    RunCommand(
        "STATS LOG",
        {"logcat", "-b", "stats", "-v", "threadtime", "-v", "printable", "-v", "uid", "-d", "*:v"},
        CommandOptions::WithTimeoutInMs(timeout_ms).Build());
    timeout_ms = logcat_timeout({"radio"});
    RunCommand(
        "RADIO LOG",
        {"logcat", "-b", "radio", "-v", "threadtime", "-v", "printable", "-v", "uid", "-d", "*:v"},
@@ -1136,7 +1133,7 @@ static void DumpHals() {
                }
                RunCommandToFd(fd,
                        "",
                        {"lshal", "debug", interface},
                        {"lshal", "debug", "-E", interface},
                        CommandOptions::WithTimeout(2).AsRootIfAvailable().Build());

                bool empty = 0 == lseek(fd, 0, SEEK_END);
+10 −3
Original line number Diff line number Diff line
@@ -217,7 +217,7 @@ static void run_dex2oat(int zip_fd, int oat_fd, int input_vdex_fd, int output_vd
        const char* input_file_name, const char* output_file_name, int swap_fd,
        const char* instruction_set, const char* compiler_filter,
        bool debuggable, bool post_bootcomplete, bool background_job_compile, int profile_fd,
        const char* class_loader_context, int target_sdk_version) {
        const char* class_loader_context, int target_sdk_version, bool disable_hidden_api_checks) {
    static const unsigned int MAX_INSTRUCTION_SET_LEN = 7;

    if (strlen(instruction_set) >= MAX_INSTRUCTION_SET_LEN) {
@@ -443,7 +443,8 @@ static void run_dex2oat(int zip_fd, int oat_fd, int input_vdex_fd, int output_vd
                     + (have_dex2oat_large_app_threshold ? 1 : 0)
                     + (disable_cdex ? 1 : 0)
                     + (generate_minidebug_info ? 1 : 0)
                     + (target_sdk_version != 0 ? 2 : 0)];
                     + (target_sdk_version != 0 ? 2 : 0)
                     + (disable_hidden_api_checks ? 2 : 0)];
    int i = 0;
    argv[i++] = dex2oat_bin;
    argv[i++] = zip_fd_arg;
@@ -517,6 +518,10 @@ static void run_dex2oat(int zip_fd, int oat_fd, int input_vdex_fd, int output_vd
        argv[i++] = RUNTIME_ARG;
        argv[i++] = target_sdk_version_arg;
    }
    if (disable_hidden_api_checks) {
        argv[i++] = RUNTIME_ARG;
        argv[i++] = "-Xno-hidden-api-checks";
    }

    // Do not add after dex2oat_flags, they should override others for debugging.
    argv[i] = NULL;
@@ -1801,6 +1806,7 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins
    bool profile_guided = (dexopt_flags & DEXOPT_PROFILE_GUIDED) != 0;
    bool is_secondary_dex = (dexopt_flags & DEXOPT_SECONDARY_DEX) != 0;
    bool background_job_compile = (dexopt_flags & DEXOPT_IDLE_BACKGROUND_JOB) != 0;
    bool disable_hidden_api_checks = (dexopt_flags & DEXOPT_DISABLE_HIDDEN_API_CHECKS) != 0;

    // Check if we're dealing with a secondary dex file and if we need to compile it.
    std::string oat_dir_str;
@@ -1897,7 +1903,8 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins
                    background_job_compile,
                    reference_profile_fd.get(),
                    class_loader_context,
                    target_sdk_version);
                    target_sdk_version,
                    disable_hidden_api_checks);
        _exit(68);   /* only get here on exec failure */
    } else {
        int res = wait_child(pid);
Loading