| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Also reformated code to be slightly more
standard coding practice compliant.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for Dynamic Group Locks. Locks
are FIFO ordered (no timestamps), so a big DGL
lock is needed to enqueue for resources atomically.
Unfortunatly, this requires nested inheritance to use
coarse-grain locking. Coarse-grain locking is used
when DGLs are enabled. Fine-grain locking is used
when DGLs are disabled.
TODO: Clean up IKGLP implementatio. There is
a lot of needless debug/TRACE work.
|
|
|
|
|
| |
I don't like coding so much w/o testing, but it's
sort of hard to do without both lock() and unlock().
|
|
|
|
|
|
| |
Minor hack to lockdep was required too allow
the inheritance propagation locking logic to
work.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The next owner of a FMLP-protected resource is dequeued from
the FMLP FIFO queue by unlock() (when the resource is freed by
the previous owner) instead of performing the dequeue by the next
owner immediately after it has been woken up.
This simplifies the code a little bit and also reduces potential
spinlock contention.
|
|
|
|
|
| |
Since we don't expect to trace more than one lock type at a time,
having protocol-specific trace points is not required.
|
|
|
|
|
|
|
|
|
|
|
|
| |
As Glenn pointed out, it is useful for some protocols (e.g.,
k-exclusion protocols) to know the userspace configuration at object
creation time. This patch changes the fdso API to pass the parameter
to the object constructor, which is then in turn passed to the lock
allocater. The return code from the lock allocater is passed to
userspace in return.
This also fixes some null pointer dereferences in the FDSO code found
by the test suite in liblitmus.
|
|
|
|
|
| |
Implement the partitioned FMLP with priority boosting based on the
generic lock API.
|
|
|
|
|
| |
This renders the FMLP and SRP unfunctional until they are ported to
the new locking API.
|
|
Provide a unified userspace interface for plugin-specific locking
protocols.
|