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#6471 sched idle: Add replay fallback and fix #6481

Merged
merged 4 commits into from
Nov 29, 2023
Merged

Commits on Nov 29, 2023

  1. i#6471 sched idle: Add replay fallback and fix

    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
    derekbruening committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    78ecb1c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7127e0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a4357b4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2dc4e7a View commit details
    Browse the repository at this point in the history