kallsyms parser: move to src/kallsyms/
Moving to a common location as it's now shared between traced_probes and
traced_perf.
Also, change metatrace tag from TAG_FTRACE to TAG_PRODUCER, which is the
category intended for generalised producer metatracing.
Bug: 173124818
Change-Id: Ie70f01175a9741702ddddfe92eae1423179d811d
diff --git a/Android.bp b/Android.bp
index 65c9f37..cd7add4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -468,6 +468,7 @@
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
":perfetto_src_ipc_host",
+ ":perfetto_src_kallsyms_kallsyms",
":perfetto_src_perfetto_cmd_perfetto_atoms",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_log_android_log",
@@ -476,7 +477,6 @@
":perfetto_src_traced_probes_filesystem_filesystem",
":perfetto_src_traced_probes_ftrace_format_parser",
":perfetto_src_traced_probes_ftrace_ftrace",
- ":perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
":perfetto_src_traced_probes_initial_display_state_initial_display_state",
":perfetto_src_traced_probes_metatrace_metatrace",
":perfetto_src_traced_probes_packages_list_packages_list",
@@ -988,6 +988,7 @@
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
":perfetto_src_ipc_host",
+ ":perfetto_src_kallsyms_kallsyms",
":perfetto_src_perfetto_cmd_perfetto_atoms",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_log_android_log",
@@ -996,7 +997,6 @@
":perfetto_src_traced_probes_filesystem_filesystem",
":perfetto_src_traced_probes_ftrace_format_parser",
":perfetto_src_traced_probes_ftrace_ftrace",
- ":perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
":perfetto_src_traced_probes_initial_display_state_initial_display_state",
":perfetto_src_traced_probes_metatrace_metatrace",
":perfetto_src_traced_probes_packages_list_packages_list",
@@ -1234,6 +1234,7 @@
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
":perfetto_src_ipc_host",
+ ":perfetto_src_kallsyms_kallsyms",
":perfetto_src_perfetto_cmd_perfetto_atoms",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_log_android_log",
@@ -1242,7 +1243,6 @@
":perfetto_src_traced_probes_filesystem_filesystem",
":perfetto_src_traced_probes_ftrace_format_parser",
":perfetto_src_traced_probes_ftrace_ftrace",
- ":perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
":perfetto_src_traced_probes_initial_display_state_initial_display_state",
":perfetto_src_traced_probes_metatrace_metatrace",
":perfetto_src_traced_probes_packages_list_packages_list",
@@ -1615,6 +1615,7 @@
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
":perfetto_src_ipc_host",
+ ":perfetto_src_kallsyms_kallsyms",
":perfetto_src_perfetto_cmd_perfetto_atoms",
":perfetto_src_profiling_common_callstack_trie",
":perfetto_src_profiling_common_interner",
@@ -1635,7 +1636,6 @@
":perfetto_src_traced_probes_ftrace_format_parser",
":perfetto_src_traced_probes_ftrace_ftrace",
":perfetto_src_traced_probes_ftrace_integrationtests",
- ":perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
":perfetto_src_traced_probes_ftrace_test_support",
":perfetto_src_traced_probes_initial_display_state_initial_display_state",
":perfetto_src_traced_probes_metatrace_metatrace",
@@ -6374,6 +6374,24 @@
],
}
+// GN: //src/kallsyms:kallsyms
+filegroup {
+ name: "perfetto_src_kallsyms_kallsyms",
+ srcs: [
+ "src/kallsyms/kernel_symbol_map.cc",
+ "src/kallsyms/lazy_kernel_symbolizer.cc",
+ ],
+}
+
+// GN: //src/kallsyms:unittests
+filegroup {
+ name: "perfetto_src_kallsyms_unittests",
+ srcs: [
+ "src/kallsyms/kernel_symbol_map_unittest.cc",
+ "src/kallsyms/lazy_kernel_symbolizer_unittest.cc",
+ ],
+}
+
// GN: //src/perfetto_cmd:perfetto_atoms
filegroup {
name: "perfetto_src_perfetto_cmd_perfetto_atoms",
@@ -7522,24 +7540,6 @@
],
}
-// GN: //src/traced/probes/ftrace/kallsyms:kallsyms
-filegroup {
- name: "perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
- srcs: [
- "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.cc",
- "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.cc",
- ],
-}
-
-// GN: //src/traced/probes/ftrace/kallsyms:unittests
-filegroup {
- name: "perfetto_src_traced_probes_ftrace_kallsyms_unittests",
- srcs: [
- "src/traced/probes/ftrace/kallsyms/kernel_symbol_map_unittest.cc",
- "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer_unittest.cc",
- ],
-}
-
// GN: //src/traced/probes/ftrace:test_messages_cpp
genrule {
name: "perfetto_src_traced_probes_ftrace_test_messages_cpp_gen",
@@ -8259,6 +8259,8 @@
":perfetto_src_ipc_test_messages_cpp_gen",
":perfetto_src_ipc_test_messages_ipc_gen",
":perfetto_src_ipc_unittests",
+ ":perfetto_src_kallsyms_kallsyms",
+ ":perfetto_src_kallsyms_unittests",
":perfetto_src_perfetto_cmd_perfetto_atoms",
":perfetto_src_perfetto_cmd_perfetto_cmd",
":perfetto_src_perfetto_cmd_protos_gen",
@@ -8333,8 +8335,6 @@
":perfetto_src_traced_probes_filesystem_unittests",
":perfetto_src_traced_probes_ftrace_format_parser",
":perfetto_src_traced_probes_ftrace_ftrace",
- ":perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
- ":perfetto_src_traced_probes_ftrace_kallsyms_unittests",
":perfetto_src_traced_probes_ftrace_test_messages_cpp_gen",
":perfetto_src_traced_probes_ftrace_test_messages_lite_gen",
":perfetto_src_traced_probes_ftrace_test_messages_zero_gen",
@@ -8832,6 +8832,7 @@
":perfetto_src_base_unix_socket",
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
+ ":perfetto_src_kallsyms_kallsyms",
":perfetto_src_profiling_common_callstack_trie",
":perfetto_src_profiling_common_interner",
":perfetto_src_profiling_common_interning_output",
@@ -8844,7 +8845,6 @@
":perfetto_src_profiling_perf_traced_perf_main",
":perfetto_src_profiling_perf_unwinding",
":perfetto_src_protozero_protozero",
- ":perfetto_src_traced_probes_ftrace_kallsyms_kallsyms",
":perfetto_src_tracing_common",
":perfetto_src_tracing_core_core",
":perfetto_src_tracing_core_service",
diff --git a/BUILD b/BUILD
index 0b6c279..d9c9e18 100644
--- a/BUILD
+++ b/BUILD
@@ -174,6 +174,7 @@
srcs = [
":src_android_internal_headers",
":src_android_internal_lazy_library_loader",
+ ":src_kallsyms_kallsyms",
":src_perfetto_cmd_perfetto_atoms",
":src_traced_probes_android_log_android_log",
":src_traced_probes_common_common",
@@ -181,7 +182,6 @@
":src_traced_probes_filesystem_filesystem",
":src_traced_probes_ftrace_format_parser",
":src_traced_probes_ftrace_ftrace",
- ":src_traced_probes_ftrace_kallsyms_kallsyms",
":src_traced_probes_initial_display_state_initial_display_state",
":src_traced_probes_metatrace_metatrace",
":src_traced_probes_packages_list_packages_list",
@@ -615,6 +615,17 @@
],
)
+# GN target: //src/kallsyms:kallsyms
+filegroup(
+ name = "src_kallsyms_kallsyms",
+ srcs = [
+ "src/kallsyms/kernel_symbol_map.cc",
+ "src/kallsyms/kernel_symbol_map.h",
+ "src/kallsyms/lazy_kernel_symbolizer.cc",
+ "src/kallsyms/lazy_kernel_symbolizer.h",
+ ],
+)
+
# GN target: //src/perfetto_cmd:perfetto_atoms
filegroup(
name = "src_perfetto_cmd_perfetto_atoms",
@@ -1224,17 +1235,6 @@
],
)
-# GN target: //src/traced/probes/ftrace/kallsyms:kallsyms
-filegroup(
- name = "src_traced_probes_ftrace_kallsyms_kallsyms",
- srcs = [
- "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.cc",
- "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h",
- "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.cc",
- "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h",
- ],
-)
-
# GN target: //src/traced/probes/ftrace:format_parser
filegroup(
name = "src_traced_probes_ftrace_format_parser",
diff --git a/gn/perfetto_benchmarks.gni b/gn/perfetto_benchmarks.gni
index ca2e36a..ddca3f2 100644
--- a/gn/perfetto_benchmarks.gni
+++ b/gn/perfetto_benchmarks.gni
@@ -21,7 +21,7 @@
"src/trace_processor/sqlite:benchmarks",
"src/trace_processor/containers:benchmarks",
"src/trace_processor/tables:benchmarks",
- "src/traced/probes/ftrace/kallsyms:benchmarks",
+ "src/kallsyms:benchmarks",
"src/traced/probes/ftrace:benchmarks",
"src/tracing/core:benchmarks",
"src/tracing:benchmarks",
diff --git a/gn/perfetto_unittests.gni b/gn/perfetto_unittests.gni
index 41fcd00..9b6a95d 100644
--- a/gn/perfetto_unittests.gni
+++ b/gn/perfetto_unittests.gni
@@ -53,7 +53,7 @@
"src/traced/probes:unittests",
"src/traced/probes/filesystem:unittests",
"src/traced/probes/ftrace:unittests",
- "src/traced/probes/ftrace/kallsyms:unittests",
+ "src/kallsyms:unittests",
"src/traced/service:unittests",
]
}
diff --git a/src/traced/probes/ftrace/kallsyms/BUILD.gn b/src/kallsyms/BUILD.gn
similarity index 74%
rename from src/traced/probes/ftrace/kallsyms/BUILD.gn
rename to src/kallsyms/BUILD.gn
index 0d1f3a5..5f305f8 100644
--- a/src/traced/probes/ftrace/kallsyms/BUILD.gn
+++ b/src/kallsyms/BUILD.gn
@@ -12,13 +12,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import("../../../../../gn/test.gni")
+import("../../gn/test.gni")
source_set("kallsyms") {
deps = [
- "../../../../../gn:default_deps",
- "../../../../../include/perfetto/protozero",
- "../../../../base",
+ "../../gn:default_deps",
+ "../../include/perfetto/protozero",
+ "../base",
]
sources = [
"kernel_symbol_map.cc",
@@ -32,9 +32,9 @@
testonly = true
deps = [
":kallsyms",
- "../../../../../gn:default_deps",
- "../../../../../gn:gtest_and_gmock",
- "../../../../base",
+ "../../gn:default_deps",
+ "../../gn:gtest_and_gmock",
+ "../base",
]
sources = [
"kernel_symbol_map_unittest.cc",
@@ -47,10 +47,10 @@
testonly = true
deps = [
":kallsyms",
- "../../../../../gn:benchmark",
- "../../../../../gn:default_deps",
- "../../../../base",
- "../../../../base:test_support",
+ "../../gn:benchmark",
+ "../../gn:default_deps",
+ "../base",
+ "../base:test_support",
]
sources = [ "kernel_symbol_map_benchmark.cc" ]
}
diff --git a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map.cc b/src/kallsyms/kernel_symbol_map.cc
similarity index 98%
rename from src/traced/probes/ftrace/kallsyms/kernel_symbol_map.cc
rename to src/kallsyms/kernel_symbol_map.cc
index d9b3d0d..f367f07 100644
--- a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map.cc
+++ b/src/kallsyms/kernel_symbol_map.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/kernel_symbol_map.h"
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/metatrace.h"
@@ -233,7 +233,7 @@
}
size_t KernelSymbolMap::Parse(const std::string& kallsyms_path) {
- PERFETTO_METATRACE_SCOPED(TAG_FTRACE, KALLSYMS_PARSE);
+ PERFETTO_METATRACE_SCOPED(TAG_PRODUCER, KALLSYMS_PARSE);
using SymAddr = uint64_t;
struct TokenInfo {
diff --git a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h b/src/kallsyms/kernel_symbol_map.h
similarity index 97%
rename from src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h
rename to src/kallsyms/kernel_symbol_map.h
index c13546a..6563b3c 100644
--- a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h
+++ b/src/kallsyms/kernel_symbol_map.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACED_PROBES_FTRACE_KALLSYMS_KERNEL_SYMBOL_MAP_H_
-#define SRC_TRACED_PROBES_FTRACE_KALLSYMS_KERNEL_SYMBOL_MAP_H_
+#ifndef SRC_KALLSYMS_KERNEL_SYMBOL_MAP_H_
+#define SRC_KALLSYMS_KERNEL_SYMBOL_MAP_H_
#include <stdint.h>
#include <array>
@@ -179,4 +179,4 @@
} // namespace perfetto
-#endif // SRC_TRACED_PROBES_FTRACE_KALLSYMS_KERNEL_SYMBOL_MAP_H_
+#endif // SRC_KALLSYMS_KERNEL_SYMBOL_MAP_H_
diff --git a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map_benchmark.cc b/src/kallsyms/kernel_symbol_map_benchmark.cc
similarity index 98%
rename from src/traced/probes/ftrace/kallsyms/kernel_symbol_map_benchmark.cc
rename to src/kallsyms/kernel_symbol_map_benchmark.cc
index e5b8cf7..7c3e9a9 100644
--- a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map_benchmark.cc
+++ b/src/kallsyms/kernel_symbol_map_benchmark.cc
@@ -21,7 +21,7 @@
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/utils.h"
#include "src/base/test/utils.h"
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/kernel_symbol_map.h"
namespace {
diff --git a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map_unittest.cc b/src/kallsyms/kernel_symbol_map_unittest.cc
similarity index 98%
rename from src/traced/probes/ftrace/kallsyms/kernel_symbol_map_unittest.cc
rename to src/kallsyms/kernel_symbol_map_unittest.cc
index 63c33e8..deba34a 100644
--- a/src/traced/probes/ftrace/kallsyms/kernel_symbol_map_unittest.cc
+++ b/src/kallsyms/kernel_symbol_map_unittest.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/kernel_symbol_map.h"
#include <inttypes.h>
diff --git a/src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.cc b/src/kallsyms/lazy_kernel_symbolizer.cc
similarity index 97%
rename from src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.cc
rename to src/kallsyms/lazy_kernel_symbolizer.cc
index 9a80684..082221a 100644
--- a/src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.cc
+++ b/src/kallsyms/lazy_kernel_symbolizer.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h"
+#include "src/kallsyms/lazy_kernel_symbolizer.h"
#include <string>
@@ -25,7 +25,7 @@
#include "perfetto/ext/base/file_utils.h"
#include "perfetto/ext/base/scoped_file.h"
#include "perfetto/ext/base/utils.h"
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/kernel_symbol_map.h"
#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
#include <sys/system_properties.h>
diff --git a/src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h b/src/kallsyms/lazy_kernel_symbolizer.h
similarity index 91%
rename from src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h
rename to src/kallsyms/lazy_kernel_symbolizer.h
index 18b599b..6f954e5 100644
--- a/src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h
+++ b/src/kallsyms/lazy_kernel_symbolizer.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACED_PROBES_FTRACE_KALLSYMS_LAZY_KERNEL_SYMBOLIZER_H_
-#define SRC_TRACED_PROBES_FTRACE_KALLSYMS_LAZY_KERNEL_SYMBOLIZER_H_
+#ifndef SRC_KALLSYMS_LAZY_KERNEL_SYMBOLIZER_H_
+#define SRC_KALLSYMS_LAZY_KERNEL_SYMBOLIZER_H_
#include <memory>
@@ -63,4 +63,4 @@
} // namespace perfetto
-#endif // SRC_TRACED_PROBES_FTRACE_KALLSYMS_LAZY_KERNEL_SYMBOLIZER_H_
+#endif // SRC_KALLSYMS_LAZY_KERNEL_SYMBOLIZER_H_
diff --git a/src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer_unittest.cc b/src/kallsyms/lazy_kernel_symbolizer_unittest.cc
similarity index 98%
rename from src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer_unittest.cc
rename to src/kallsyms/lazy_kernel_symbolizer_unittest.cc
index d847f8d..c219dda 100644
--- a/src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer_unittest.cc
+++ b/src/kallsyms/lazy_kernel_symbolizer_unittest.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h"
+#include "src/kallsyms/lazy_kernel_symbolizer.h"
#include <inttypes.h>
diff --git a/src/profiling/perf/BUILD.gn b/src/profiling/perf/BUILD.gn
index c6c48ae..ead817e 100644
--- a/src/profiling/perf/BUILD.gn
+++ b/src/profiling/perf/BUILD.gn
@@ -92,8 +92,8 @@
":common_types",
"../../../gn:default_deps",
"../../../include/perfetto/ext/tracing/core",
- "../../../src//traced/probes/ftrace/kallsyms",
"../../../src/base",
+ "../../../src/kallsyms",
"../common:unwind_support",
]
sources = [
diff --git a/src/profiling/perf/event_config.cc b/src/profiling/perf/event_config.cc
index 2e8e58d..ccf8b0e 100644
--- a/src/profiling/perf/event_config.cc
+++ b/src/profiling/perf/event_config.cc
@@ -192,7 +192,7 @@
pe.sample_regs_user =
PerfUserRegsMaskForArch(unwindstack::Regs::CurrentArch());
- // Optional kernel call frames (unwound by the kernel itself):
+ // Optional kernel callchains:
if (kernel_frames_) {
pe.sample_type |= PERF_SAMPLE_CALLCHAIN;
pe.exclude_callchain_user = true;
diff --git a/src/profiling/perf/event_reader.cc b/src/profiling/perf/event_reader.cc
index c6ddf3d..f82ef05 100644
--- a/src/profiling/perf/event_reader.cc
+++ b/src/profiling/perf/event_reader.cc
@@ -33,14 +33,14 @@
template <typename T>
const char* ReadValue(T* value_out, const char* ptr) {
- memcpy(value_out, ptr, sizeof(T));
+ memcpy(value_out, reinterpret_cast<const void*>(ptr), sizeof(T));
return ptr + sizeof(T);
}
template <typename T>
const char* ReadValues(T* out, const char* ptr, size_t num_values) {
size_t sz = sizeof(T) * num_values;
- memcpy(out, ptr, sz);
+ memcpy(out, reinterpret_cast<const void*>(ptr), sz);
return ptr + sz;
}
diff --git a/src/profiling/perf/unwinding.cc b/src/profiling/perf/unwinding.cc
index 1dfb005..022e6a8 100644
--- a/src/profiling/perf/unwinding.cc
+++ b/src/profiling/perf/unwinding.cc
@@ -409,6 +409,7 @@
}
auto* kernel_map = kernel_symbolizer_.GetOrCreateKernelSymbolMap();
+ PERFETTO_DCHECK(kernel_map);
ret.reserve(sample.kernel_ips.size());
for (size_t i = 1; i < sample.kernel_ips.size(); i++) {
std::string function_name = kernel_map->Lookup(sample.kernel_ips[i]);
diff --git a/src/profiling/perf/unwinding.h b/src/profiling/perf/unwinding.h
index 274d485..a92cad7 100644
--- a/src/profiling/perf/unwinding.h
+++ b/src/profiling/perf/unwinding.h
@@ -31,14 +31,12 @@
#include "perfetto/ext/base/thread_checker.h"
#include "perfetto/ext/base/unix_task_runner.h"
#include "perfetto/ext/tracing/core/basic_types.h"
+#include "src/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/lazy_kernel_symbolizer.h"
#include "src/profiling/common/unwind_support.h"
#include "src/profiling/perf/common_types.h"
#include "src/profiling/perf/unwind_queue.h"
-// TODO(rsavitski): move kallsyms code to a common location.
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
-#include "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h"
-
namespace perfetto {
namespace profiling {
diff --git a/src/traced/probes/ftrace/BUILD.gn b/src/traced/probes/ftrace/BUILD.gn
index 90d1e4b..6b0df75 100644
--- a/src/traced/probes/ftrace/BUILD.gn
+++ b/src/traced/probes/ftrace/BUILD.gn
@@ -112,8 +112,8 @@
"../../../../protos/perfetto/trace/profiling:zero",
"../../../android_internal:lazy_library_loader",
"../../../base",
+ "../../../kallsyms",
"../../../protozero",
- "kallsyms",
]
sources = [
"atrace_hal_wrapper.cc",
diff --git a/src/traced/probes/ftrace/cpu_reader.cc b/src/traced/probes/ftrace/cpu_reader.cc
index 75f34ac..5f283d1 100644
--- a/src/traced/probes/ftrace/cpu_reader.cc
+++ b/src/traced/probes/ftrace/cpu_reader.cc
@@ -27,11 +27,11 @@
#include "perfetto/ext/base/optional.h"
#include "perfetto/ext/base/utils.h"
#include "perfetto/ext/tracing/core/trace_writer.h"
+#include "src/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/lazy_kernel_symbolizer.h"
#include "src/traced/probes/ftrace/ftrace_config_muxer.h"
#include "src/traced/probes/ftrace/ftrace_controller.h"
#include "src/traced/probes/ftrace/ftrace_data_source.h"
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
-#include "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h"
#include "src/traced/probes/ftrace/proto_translation_table.h"
#include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h"
diff --git a/src/traced/probes/ftrace/ftrace_controller.cc b/src/traced/probes/ftrace/ftrace_controller.cc
index ca557b7..374b0a9 100644
--- a/src/traced/probes/ftrace/ftrace_controller.cc
+++ b/src/traced/probes/ftrace/ftrace_controller.cc
@@ -34,6 +34,8 @@
#include "perfetto/ext/base/file_utils.h"
#include "perfetto/ext/base/metatrace.h"
#include "perfetto/ext/tracing/core/trace_writer.h"
+#include "src/kallsyms/kernel_symbol_map.h"
+#include "src/kallsyms/lazy_kernel_symbolizer.h"
#include "src/traced/probes/ftrace/atrace_hal_wrapper.h"
#include "src/traced/probes/ftrace/cpu_reader.h"
#include "src/traced/probes/ftrace/cpu_stats_parser.h"
@@ -44,8 +46,6 @@
#include "src/traced/probes/ftrace/ftrace_metadata.h"
#include "src/traced/probes/ftrace/ftrace_procfs.h"
#include "src/traced/probes/ftrace/ftrace_stats.h"
-#include "src/traced/probes/ftrace/kallsyms/kernel_symbol_map.h"
-#include "src/traced/probes/ftrace/kallsyms/lazy_kernel_symbolizer.h"
#include "src/traced/probes/ftrace/proto_translation_table.h"
namespace perfetto {