Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qmanager/dfu: satisfiable but unreservable job support
problem: jobs that are satisfiable but unreservable, in queues that use reservation, would fail with either a match failure or an EINVAL return from resource. This seems to only happen when `schedule` returns -1, an errno of ENOENT and the `at` value equal to the end of the graph. Solution: Rather than making that EINVAL, it now passes out EBUSY, which causes the new code for blocked constraints to pull the job out of pending and place it in blocked. To allow the job to proceed, we move blocked jobs back into the pending queue whenever a job is removed from the queue due to completion or cancellation. We probably consider them more than necessary, but this seems to solve the issue and still preserves the performance improvement.
- Loading branch information