aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/locking.c
Commit message (Collapse)AuthorAge
* Move RSM and IKGLP imp. to own .c fileswip-ikglpGlenn Elliott2012-04-13
| | | | | Also reformated code to be slightly more standard coding practice compliant.
* Added support for Dynamic Group Locks (DGLs)Glenn Elliott2012-04-11
| | | | | | | | | | | | | | 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.
* Untested implementation of IKGLP.Glenn Elliott2012-04-04
| | | | | I don't like coding so much w/o testing, but it's sort of hard to do without both lock() and unlock().
* Nested inheritance with fine-grained locking.Glenn Elliott2012-03-30
| | | | | | Minor hack to lockdep was required too allow the inheritance propagation locking logic to work.
* blahGlenn Elliott2012-03-23
|
* Introduction of basic nesting foundations.Glenn Elliott2012-03-22
|
* locking: use correct timestampBjoern B. Brandenburg2011-11-24
|
* Improve FMLP queue management.wip-fmlp-dequeueGlenn Elliott2011-03-31
| | | | | | | | | | 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.
* Feather-Trace: rename locking trace pointsBjoern B. Brandenburg2011-02-01
| | | | | Since we don't expect to trace more than one lock type at a time, having protocol-specific trace points is not required.
* fdso: pass userpsace config argument to object constructorBjoern B. Brandenburg2011-02-01
| | | | | | | | | | | | 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.
* PSN-EDF: re-implement FMLP supportBjoern B. Brandenburg2011-02-01
| | | | | Implement the partitioned FMLP with priority boosting based on the generic lock API.
* Litmus core: replace FMLP & SRP system calls with generic syscallsBjoern B. Brandenburg2011-02-01
| | | | | This renders the FMLP and SRP unfunctional until they are ported to the new locking API.
* Litmus core: add generic locking APIBjoern B. Brandenburg2011-02-01
Provide a unified userspace interface for plugin-specific locking protocols.