【问题标题】:No such device when I use adb to show /sys/kernel/debug/tracing/available_filter_functions当我使用 adb 显示 /sys/kernel/debug/tracing/available_filter_functions 时没有这样的设备
【发布时间】:2021-06-23 21:14:18
【问题描述】:

伙计们。

我正在尝试研究 Nexus 6P(旧 Android 智能手机)上的虚拟内存管理

因为AOSP中的默认内核没有开启CONFIG_FUNCITON_TRACER,我无法使用函数追踪器来研究内存管理相关的函数。

所以我下载了 android 内核源代码,打开 config_function_tracer 和其他配置它的依赖,重建内核。然后我把重建后的内核镜像文件放入aosp,重建启动镜像,将构建输出的镜像刷入手机。

手机可以正常开机,一切正常,但是我不能正常cat /sys/kernel/debug/tracing/available_filter_functions,提示“no such device”。

我检查了selinux标签,我通过命令'setenforce permissive'关闭了selinux,它没有帮助。

谁能帮我解决这个问题?

C:\Users\dvdface>adb shell
angler:/ # cd /sys/kernel/debug/tracing/
angler:/sys/kernel/debug/tracing # ls
README                     dyn_ftrace_total_info per_cpu            set_ftrace_pid     tracing_cpumask
available_events           enabled_functions     printk_formats     set_graph_function tracing_on
available_filter_functions events                saved_cmdlines     trace              tracing_thresh
available_tracers          free_buffer           saved_tgids        trace_clock
buffer_size_kb             instances             set_event          trace_marker
buffer_total_size_kb       max_graph_depth       set_ftrace_filter  trace_options
current_tracer             options               set_ftrace_notrace trace_pipe
angler:/sys/kernel/debug/tracing # cat available_filter_functions
cat: available_filter_functions: No such device

【问题讨论】:

    标签: android kernel adb ftrace


    【解决方案1】:

    我知道为什么会出现这个错误。

    使用 CONFIG_FUNCTION_TRACER 构建内核时,需要关闭 CONFIG_STRICT_MEMORY_RWX

    在本文档中 (https://source.android.google.cn/devices/tech/debug/ftrace)

    使用动态 ftrace 一章中,它说要关闭它。

    关闭后一切正常。

    config STRICT_MEMORY_RWX
        bool "restrict kernel memory permissions as much as possible"
        help
          If this is set, kernel text will be made RX, kernel data and stack
          RW, rodata R (otherwise all of the kernel 1-to-1 mapping is
          made RWX).
          The tradeoff is that several sections are padded to
          2M boundaries (because their permissions are different and
          splitting the 2M pages into 4K ones causes TLB performance
          problems), wasting memory.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-04
      • 2022-06-29
      • 2020-07-12
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      相关资源
      最近更新 更多