Skip to content

i#7157: Inject syscall templates dynamically in scheduler#7277

Merged
abhinav92003 merged 21 commits intomasterfrom
i7157-dyn-syscall-inj
Feb 27, 2025
Merged

i#7157: Inject syscall templates dynamically in scheduler#7277
abhinav92003 merged 21 commits intomasterfrom
i7157-dyn-syscall-inj

Conversation

@abhinav92003
Copy link
Copy Markdown
Contributor

@abhinav92003 abhinav92003 commented Feb 14, 2025

Adds support to the drmemtrace scheduler for injecting system call trace templates dynamically during scheduling. This obviates the need to create a separate statically-injected trace with system call trace templates.

Reuses context switch trace injection code to the extent possible.

Adds a new analyzer flag -sched_syscall_file and new scheduler_options_t fields to allow specifying the system call trace template file.

Adds a mock system call template file generated using the burst_syscall_inject test (slightly modified to use sysnums that match the checked-in test trace).

Adds various unit tests: a new scheduler unit test that verifies dynamic syscall trace injection and its effect on scheduling, analyzer tests that use -sched_syscall_file for dynamic injection in core-sharded and non-core-sharded modes, and an invariant checker test on the added mock system call template file.

Issue: #7157

Adds support to the drmemtrace scheduler for injecting system call trace templates dynamically during scheduling. This obviates the need to create a separate statically-injected trace with system call trace templates.

Reuses context switch trace injection code to the extent possible.

Adds a new analyzer flag -sched_syscall_file and new scheduler_options_t fields to allow specifying the system call trace template file.

Issue: #7157
@abhinav92003
Copy link
Copy Markdown
Contributor Author

Some corner cases wrt ordinal tracking that I initially thought would affect syscall injection and tried to fix in #7299 seem like they don't really affect this PR. So I'm going to go ahead with submitting this.

@abhinav92003
Copy link
Copy Markdown
Contributor Author

It will be nicer if the added tests verify schedule_stats output for a new scheduler stat for syscall injection count. But since this PR is already too big I'm going to split it to a follow up PR.

@abhinav92003 abhinav92003 merged commit c2ba256 into master Feb 27, 2025
26 checks passed
@abhinav92003 abhinav92003 deleted the i7157-dyn-syscall-inj branch February 27, 2025 00:20
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