-
Notifications
You must be signed in to change notification settings - Fork 566
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#7157 syscall sched: Handle static injected syscall traces in schedu…
…ler (#7158) Adds handling for statically-injected kernel syscall traces in the scheduler. Ensures that quantum and voluntary context switches are delayed until after the statically-injected syscall trace. This involved fixing the bookkeeping logic which is done on the next user-space instr now. Note that the injected kernel syscall traces do not include any scheduling-related markers such as TRACE_MARKER_TYPE_SYSCALL_UNSCHEDULE and TRACE_MARKER_TYPE_TIMESTAMP. For now we keep status quo on the scheduler behavior of showing the post-syscall markers before the switch. Adds a unit test for static-injected kernel syscall trace handling by the scheduler for various scenarios involving syscall sequences shorter and longer than the quantum, for system calls that do and do not cause context switches, and occurring at different offsets into the quantum. Issue: #7157
- Loading branch information
1 parent
5f3be87
commit 4adbf0f
Showing
4 changed files
with
306 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.