Low-overhead tracing of all Linux kernel-user transitions, for serious performance analysis. Includes kernel patches, loadable module, and post-processing software. Output is HTML/SVG per-CPU-core timeline that you can pan/zoom down to the nanosecond.
Other
633
stars
60
forks
source link
Misidentifies AMD as Intel Architecture and Fails to Handle LLC Properly on AMD #12
I recently encountered a segmentation fault while running KUtrace on a workstation equipped with an AMD Ryzen Threadripper PRO 5955WX 16-Core processor. Upon inspecting the dmesg log, I discovered that KUtrace incorrectly identified the system as using Intel architecture, which led to this issue.
After further investigation, I modified the KUtrace code (located in linux/module/kutrace_mod.c) to accurately distinguish between AMD and Intel architectures. I also improved the logic for bypassing the Last Level Cache (LLC) specific to AMD processors. These modifications enabled me to successfully gather monitoring data.
Here are the main changes I implemented:
Updated the conditions to differentiate AMD and Intel architectures:
Hi,
I recently encountered a segmentation fault while running KUtrace on a workstation equipped with an AMD Ryzen Threadripper PRO 5955WX 16-Core processor. Upon inspecting the
dmesg
log, I discovered that KUtrace incorrectly identified the system as using Intel architecture, which led to this issue.After further investigation, I modified the KUtrace code (located in linux/module/kutrace_mod.c) to accurately distinguish between AMD and Intel architectures. I also improved the logic for bypassing the Last Level Cache (LLC) specific to AMD processors. These modifications enabled me to successfully gather monitoring data.
Here are the main changes I implemented:
Maybe these changes could benefit others using similar systems.
Environment:
Processor: AMD Ryzen Threadripper PRO 5955WX 16-Cores Operating System: linux-6.6.36