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

Add kernel infrastructure to read RDT and assign RMIDs #52

Merged
merged 88 commits into from
Feb 11, 2025

Conversation

yonch
Copy link
Contributor

@yonch yonch commented Feb 11, 2025

Added a kernel module that:

  • Generates a tracepoint on every CPU, synchronized to 1 millisecond boundaries
  • Generates a tracepoint on every context switch
  • Enumerates the CPU's RDT capabilities
  • Can assign RMIDs
  • Reads local and total memory bandwidth and LLC occupancy every 1 millisecond and generates a tracepoint

Added a script that captures these traces and performs a sanity check.

There's also a Github Actions to compile and sanity-test the module on an RDT-capable bare-metal instance on AWS

yonch added 28 commits February 11, 2025 15:02
when enqueueing on CPUs that have never been online, `queue_work_on` says users get a splat.
@yonch yonch merged commit 502d568 into unvariance:main Feb 11, 2025
1 check passed
@yonch yonch deleted the add-resctrl-module branch February 11, 2025 22:16
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.

1 participant