Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There are a bunch of places where we check to see if jobs should be acked and/or retired: - `Downstairs::enqueue` (if skipped on all three Downstairs) - `Downstairs::skip_all_jobs` (for skipped jobs only) - `DownstairsClient::process_io_completion` (lots of conditionals to decide if we're ready to ack; returns a flag to `Downstairs::process_io_completion_inner`) This PR consolidates ack and retire checks into a single place: `Downstairs::ack_check`. This new function is responsible for deciding when to ack and retire jobs; it's called in all of the places where you'd expect. `DownstairsClient::process_io_completion` is reorganized, with one minor logical change: non-fatal read errors now increment the `downstairs_errors` counter. It's no longer responsible for deciding when to ack a job; that's now in `Downstairs::ack_check`. The `up-to-ds-*-done` DTrace probes are removed, because (after #1552) they fire immediately before the equivalent `gw-*-done` probes; there's no delay waiting for ackable jobs to be acked.
- Loading branch information