Some questions re tracking LLD for Mach-O's performance using LNT

Hi,

I understand that the link test suite schema at https://lnt.llvm.org/ is being used to record profiling results for LLD for ELF. I would like to do the same with LLD’s Mach-O implementation by running the profiling jobs on an internal server & submitting the results to the public LNT instance. A few questions:

  1. I don’t see the link schema under schemas/ in the lnt repo. Where can I find it?

  2. Should I reuse the schema or create a new one? I expect that we can stick to the same set of perf data fields, so reusing should be fine as long as we create one more column to indicate whether we’re running the ELF or Mach-O suite.

  3. I would also like to reuse the lld/utils/benchmark.py script. Currently, it invokes the LLD for ELF process via a hard-coded name, so I would like to make that configurable via a CLI flag. But that would involve updating the current job on the as-worker machines to specify the ELF back-end. Who owns those machines and would be able to do this update? (That said, it’s hardly a blocker, since I can still have the script default the ELF backend for now.)

Thanks,

Jez

I forget when that was setup, but here is a copy of the schema from the lnt.llvm.org server:


format_version: '2'
name: link
run_fields:
- name: llvm_project_revision
order: true
machine_fields:
- name: hardware
- name: os
metrics:
- name: branch-misses
bigger_is_better: false
type: Real
- name: stalled-cycles-frontend
bigger_is_better: false
type: Real
- name: branches
bigger_is_better: false
type: Real
- name: context-switches
bigger_is_better: false
type: Real
- name: cpu-migrations
bigger_is_better: false
type: Real
- name: cycles
bigger_is_better: false
type: Real
- name: instructions
bigger_is_better: false
type: Real
- name: seconds-elapsed
bigger_is_better: false
type: Real
- name: page-faults
bigger_is_better: false
type: Real
- name: task-clock
bigger_is_better: false
type: Real

Thanks Chris! I belatedly found that file under lld/utils/. A bit
surprising that it isn't in the LNT repo itself but I guess it was
copied over into the deployed server by hand...

I would like to re-surface question #3 in my original message: who
owns as-worker-5:2? I've created a handful of diffs modifying
benchmark.py (D95082, D95084), which I believe is being run on that
machine. I don't think my changes will break anything, but it would be
nice to get a stamp from whomever still depends on it. (The original
author was Rafael Espindola.)

Jez

Maybe Galina knows about as-worker-5:2?

Hello everyone,

Yes, as-worker-5 is mine.

That’s listed in http://lab.llvm.org:8011/#/workers/23.

Let me read through this email thread to understand what this is about, and I’ll get back to you.

Thanks

Galina

Hello everyone,

Sorry for the late response.

In general, I don’t mind altering the schema. My only concern is I do not want to lose the history of already collected data.
Could somebody confirm that this schema change is safe in this regard, please?

  • We would need to coordinate well with the change, and I’ll have to change that builder right after the new schema is deployed.

Thanks

Galina