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

i#7044 hang: Sleep on wait in parallel drmemtrace analyzer #7054

Merged
merged 1 commit into from
Oct 23, 2024

Conversation

derekbruening
Copy link
Contributor

Adds a 1ms sleep on a STATUS_WAIT in the drmemtrace analyzer when operating in parallel. This avoids costly spinning in replay mode. Adding targeted condition variables inside the scheduler doesn't end up performing any better and is complicated by the scheduler not knowing the threading model of the user, so this is a safer and simpler solution despite not waiting on an event.

Tested on a medium-large internal trace where the spinning makes replaying as-traced take 7:35; with the sleep it takes 1:15.

Fixes #7044

Adds a 1ms sleep on a STATUS_WAIT in the drmemtrace analyzer when
operating in parallel.  This avoids costly spinning in replay mode.
Adding targeted condition variables inside the scheduler doesn't end
up performing any better and is complicated by the scheduler not
knowing the threading model of the user, so this is a safer and
simpler solution despite not waiting on an event.

Fixes #7044
@derekbruening derekbruening merged commit 834c688 into master Oct 23, 2024
17 checks passed
@derekbruening derekbruening deleted the i7044-sleep-on-wait branch October 23, 2024 19:18
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.

Livelock in replay-as-traced with per-core-runqueues
2 participants