Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions devops/actions/run-tests/benchmark/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,13 @@ runs:
shell: bash
run: |
git clone -b unify-ci https://github.com/intel/llvm-ci-perf-results
# Linux tools installed during docker creation may not match the self-hosted
# kernel version, so we need to install the correct version here.
Comment on lines +143 to +144
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How exactly would it match the host? Does uname -r report host information or container information?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has to be host, Docker isn't a real VM and uses the host kernel. Note I did zero research.

Copy link
Contributor

@sarnex sarnex Oct 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok I did minimal research https://stackoverflow.com/questions/31012297/uname-a-returning-the-same-in-docker-host-or-any-docker-container

Docker uses the host operating system kernel, there is no custom or additional kernel inside the container. All containers running on the machine are sharing this "host" kernel.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I tested this locally - kernel reported in docker was exactly like my host.

I pulled sycl image, where linux-tools package was installed (in version A), then run apt install -y linux-tools-$(uname -r) in docker and new version B appeared and perf started to work.

Also, as I mentioned above - I tested this on BMG machine with other kernel and worked as well (https://github.com/intel/llvm/actions/runs/18881499077/job/53887826008?pr=20493#step:19:726)

- name: Install perf in version matching the host kernel
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y linux-tools-$(uname -r)
- name: Run compute-benchmarks
env:
# Need to append "_<device>_<backend>" to save name in order to follow
Expand Down
2 changes: 1 addition & 1 deletion devops/scripts/benchmarks/utils/flamegraph.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def setup(
"""
if not shutil.which("perf"):
raise FileNotFoundError(
"perf command not found. Please install linux-tools or perf package."
"perf command not found. Please install linux-tools-$(uname -r) or perf package."
)

sanitized_suite_name = sanitize_filename(suite_name)
Expand Down
Loading