Verify that all pending requests are justified
If a request is pending in a lock waiting structure, it has to fulfilltwo properties:- It must be a valid request, not violating any lock order requirements, and- it must not be possible to fulfill it immediately....
Verify soundness of notifications
Verify that, if a lock owner gets notified, he- had a pending request, and- the request is fulfilled now.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>
Strengthen progress property in lock waiting
Not only verify that after the blockers for one pending requesthave gone, some request was honored, but also verify that it wasnot a request by one of the blockers.
Signed-off-by: Klaus Aehlig <aehlig@google.com>...
Add process id to lock-owner description
...so that we can notify owners when their pending request got granted.
Verify that some progress is made after lock releases
Add a basic sanity check for progress on pending requests. If arequest is pending and all owners it is blocked on release theirlocks, there is at least one pending request that can be granted(the said one). So verify that at least one owner gets notified...
Verify that an owner gets notified
Add a basic sanity check on notification: if a request is blocked,and all old pending owners and blockers give up their resources,the owner gets notified of his lock being granted.
Verify that pending requests get fulfilled eventually
Add a basic sanity check for the lock waiting mechanism. If a requestget added to pending, and all blockers and pending owners give up theirresources it is automatically handled.
Export requestSucceeded
...so that this predicate can be used for testing the LockWaitingstructure as well.
Verify that unfulfilled requests lead to pending requests
Verify that an owner has a pending request after a waiting requestnot fullfilled immediately.
Verify locks can't be updated while having a pending request
Add a verify first sanity check for lock waiting: a user that has a pendingrequest cannot modify his locks. This patch also brings in the necessaryinfra structure for having arbitrary waiting structures....
View revisions
Also available in: Atom