build icon indicating copy to clipboard operation
build copied to clipboard

Install perf matching the kernel version on the benchmark machines

Open joyeecheung opened this issue 2 years ago • 1 comments
trafficstars

Refs: https://github.com/nodejs/node/issues/50079#issuecomment-1752097632

I think that might be the cause behind the v8-updates/test-linux-perf failures of the recent V8 update. Currenly https://github.com/nodejs/build/blob/main/ansible/roles/linux-perf/tasks/main.yml pulls the source from the most recent commit from https://github.com/torvalds/linux.git which can be too far ahead compared to the kernel version on the machines and result in breakages.

Some suggestions:

  1. Download from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
  2. Download the branch implied by uname -r (maybe just the major and the minor version is enough, e.g. 5.15 on the benchmark machines, I am not sure how to do that in ansible)

It would be great if someone more familiar with ansible can do these changes to the script and apply them on the benchmark machines (after removing the existing perf installations).

joyeecheung avatar Oct 09 '23 13:10 joyeecheung

I've deployed https://github.com/nodejs/build/pull/3665 onto the new Hetzner machines (replacing the Nearform ones). This has installed a matching version of perf to the kernel version:

root@test-hetzner-ubuntu2204-x64-1 ~ # uname -r
5.15.0-100-generic
root@test-hetzner-ubuntu2204-x64-1 ~ # perf -v
perf version 5.15.g8bb7eca972ad
root@test-hetzner-ubuntu2204-x64-1 ~ #

but the V8 tests are still failing even with the matching version of perf:

  • v18.x-staging: https://ci.nodejs.org/job/node-test-commit-v8-linux/5890/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/console
  • main: https://ci.nodejs.org/job/node-test-commit-v8-linux/5889/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/console

richardlau avatar Mar 28 '24 16:03 richardlau

I think we can close this now. We did get the version of perf installed to match the kernel version in https://github.com/nodejs/build/pull/3665, although that didn't fix the tests. https://github.com/nodejs/node/issues/50079 exists to track further work (if needed) for the tests, but IIRC they were turned off in favour of other working tests to cover the functionality.

richardlau avatar Oct 09 '24 13:10 richardlau