Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup "debugging" and misc cleanup #695

Merged
merged 1 commit into from
Sep 26, 2024
Merged

Conversation

likewhatevs
Copy link
Contributor

@likewhatevs likewhatevs commented Sep 26, 2024

This PR reworks how CI is set up a bit to make debugging a bit simpler.

  • Fix a couple of misc errors in build scripts.

  • Tweak scripts/kconfigs to make bpftrace work.

  • Update how CI caching works to make builds faster (6 minute turnaround time)

  • Update CI config to generate per-scheduler debug archives w/ guest dmesg/scheduler stdout, guest stdout, bpftrace script output, veristat output.

  • Update build scripts to accept the following:
    *** VNG RW -- write to host filesystem (better caching, logging).
    ** For stress tests in particular (via ini config):
    *** QEMU Opts -- to facilitate reproducing bugs (i.e. high core count). ** bpftrace scripts -- specify bpftrace scripts to run during stress tests.

  • All files ending in *.ci.log are stored in archives accessible on the job's run page.
    image

Here is an example of how jobs look w/ this (and the downloadable logs): https://github.com/likewhatevs/scx/actions/runs/11053261025

  • note -- passing qemu_opts to vng doesn't work yet, I'm not sure how to make that command work w/ subprocess yet (might be an issue in vng, need to look).

  • also note -- the logs saved look nice if opened w/ a tool (like bat) that deals with escape codes etc.
    image

I kinda hope we can build a collection of bpftrace scripts we can run against all schedulers to idk make debugging simpler.

* Fix a couple of misc errors in build scripts.
* Tweak scripts/kconfigs to make bpftrace work.
* Update how CI caching works to make builds faster (6 minute turnaround
  time)
* Update CI config to generate per-scheduler debug archives w/ guest
  dmesg/scheduler stdout, guest stdout, bpftrace script output,
  veristat output.

* Update build scripts to accept the following:
** VNG RW -- write to host filesystem (better caching, logging).
* For stress tests in particular (via ini config):
** QEMU Opts -- to facilitate reproducing bugs (i.e. high core count).
** bpftrace scripts -- specify bpftrace scripts to run during stress
tests.
Copy link
Contributor

@hodgesds hodgesds left a comment

Choose a reason for hiding this comment

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

LGTM

@likewhatevs likewhatevs merged commit bf68679 into sched-ext:main Sep 26, 2024
18 of 19 checks passed
likewhatevs added a commit to sched-ext/scx-backports that referenced this pull request Oct 4, 2024
* Fix a couple of misc errors in build scripts.
* Tweak scripts/kconfigs to make bpftrace work.
* Update how CI caching works to make builds faster (6 minute turnaround
  time)
* Update CI config to generate per-scheduler debug archives w/ guest
  dmesg/scheduler stdout, guest stdout, bpftrace script output,
  veristat output.

* Update build scripts to accept the following:
** VNG RW -- write to host filesystem (better caching, logging).
* For stress tests in particular (via ini config):
** QEMU Opts -- to facilitate reproducing bugs (i.e. high core count).
** bpftrace scripts -- specify bpftrace scripts to run during stress
tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants