Skip to content

Add feature to escape busy loops#1995

Merged
sporksmith merged 5 commits intoshadow:mainfrom
sporksmith:busy-loops-disabled
Apr 1, 2022
Merged

Add feature to escape busy loops#1995
sporksmith merged 5 commits intoshadow:mainfrom
sporksmith:busy-loops-disabled

Conversation

@sporksmith
Copy link
Copy Markdown
Contributor

@sporksmith sporksmith commented Mar 29, 2022

  • Add regression test that loops until time moves forward.
  • Add options to allow moving time forward after some number of consecutive unblocked syscalls.
  • Implement sched_yield as a no-op and on the shim side to help make busy loops that use it fast.
  • Fix a previously-latent bug in thread_preload, where it overwrote the thread's "current event" when executing a syscall in the managed thread on behalf of Shadow.

@sporksmith sporksmith added this to the Support for golang milestone Mar 29, 2022
@sporksmith sporksmith self-assigned this Mar 29, 2022
@sporksmith sporksmith requested a review from stevenengler March 29, 2022 15:05
@github-actions github-actions bot added Component: Build Build/install tools and dependencies Component: Libraries Support functions like LD_PRELOAD and logging Component: Main Composing the core Shadow executable Component: Testing Unit and integration tests and frameworks labels Mar 29, 2022
@github-actions github-actions bot added the Component: Documentation In-repository documentation, under docs/ label Mar 31, 2022
@sporksmith sporksmith force-pushed the busy-loops-disabled branch from 7a81d3b to 951a71a Compare March 31, 2022 20:09
@sporksmith sporksmith force-pushed the busy-loops-disabled branch from 951a71a to ff24200 Compare April 1, 2022 13:56
@sporksmith sporksmith enabled auto-merge April 1, 2022 14:44
@sporksmith sporksmith merged commit 26d888f into shadow:main Apr 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Build Build/install tools and dependencies Component: Documentation In-repository documentation, under docs/ Component: Libraries Support functions like LD_PRELOAD and logging Component: Main Composing the core Shadow executable Component: Testing Unit and integration tests and frameworks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants