-
Notifications
You must be signed in to change notification settings - Fork 561
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#6471 sched idle: Add replay fallback and fix (#6481)
Adds a fallback to return EOF when all outputs are past the last record in replay mode, to handle a schedule where not every input reaches EOF or has regions of interest. Adds a unit test for this case, which hangs without the fix. Fixes a record bug which seems to cause the final segment entry for an input to have a stop instruction ordinal prior to the input's real endpoint. This is what caused hangs in actual usage of PR #6472 and led to adding the fallback just described (which is useful on its own). On selecting a new input which turned out to be at EOF, the original code called close_schedule_segment() on *prev_input* for some reason. That replaces the default -1 sentinel (read to EOF) with the current ordinal. The code then tries again for a new input, but if it ends up finding the prior one it would keep executing that without a new schedule segment entry. If that's the last input on that core, close_schedule_segment() is not called (the default is relied upon). I observed missing sentinels for one input in some runs and this is my theory as to what happened; those cases are gone now with this fix. Unfortunately it is difficult to create a unit test for this, but testing on the original hangs (without the fallback) show it fixed. Issue: #6471
- Loading branch information
1 parent
cd5521c
commit 0254f5b
Showing
3 changed files
with
136 additions
and
6 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