Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove
ackable_work
; ack immediately instead (#1552)
A long time ago, one task accumulated ackable jobs into `Downstairs::ackable_work` and a different task periodically read out that set and sent acks back to the guest. The tasks have long since been consolidated, but the `ackable_work` set remained. This PR removes the `ackable_work` set, acking jobs immediately when they are ready. It's a significant LOC simplification, because it's removing intermediate state (which previously had to be checked in unit tests). There's one subtlety in handling live-repair: previously, the live-repair check would look in `ackable_work` to see if the next job was ackable, which indicates that live-repair can continue. Now, we update the `LiveRepairState` directly in `Downstairs::ack`, storing a result for the pending live-repair job.
- Loading branch information