| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Mixed criticality implementation, not including slack stealing.
In addition, Level A is still P-EDF instead of cyclic executive.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Some change in .36 caused litmus.h to be no longer included in
litmus_proc.c, which consequently caused a build error.
(This commit should be squashed before being merged into master.)
|
| |
| |
| |
| |
| |
| |
| | |
Make use of the new per-plugin proc file infrastructure to avoid
littering the global namespace. While at it, also move all the
relevant bits to sched_cedf.c. In the future, each plugin's parameters
should be handled in the respective plugin file.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Basic setup for ghost jobs.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Mixed criticality implementation, not including slack stealing.
In addition, Level A is still P-EDF instead of cyclic executive.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Make use of the new per-plugin proc file infrastructure to avoid
littering the global namespace. While at it, also move all the
relevant bits to sched_cedf.c. In the future, each plugin's parameters
should be handled in the respective plugin file.
|
| |
| |
| |
| |
| | |
Instead of having an extra flag, Pfair should just infer sporadic
release based on deadlines like other plugins, too.
|
| |
| |
| |
| |
| |
| |
| | |
Just like C-EDF is a global scheduler that is split across several
clusters, Pfair can be applied on a per-cluster basis. This patch
changes the Pfair implementation to enable clustering based on the
recently added generic clustering support.
|
| |
| |
| |
| |
| | |
Inspired by the existing C-EDF code, this generic version will build
clusters of CPUs based on a given cache level.
|
| |
| |
| |
| |
| | |
Make the cluster size configuration in C-EDF generic so that it can be
used by other clustered schedulers.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
This introduces the global FMLP based on the generic locking layer.
|
| |
| |
| |
| |
| | |
Implement the partitioned FMLP with priority boosting based on the
generic lock API.
|
| |
| |
| |
| | |
While we are at it, simplify edf_higher_prio() a bit.
|
| | |
|
| |
| |
| |
| |
| | |
This re-enables SRP support under PSN-EDF and demonstrates how the new
locking API should be used.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As the number of supported locking protocols is expected to rise,
hard-coding things like priority inheritance in the plugin interface
doesn't scale. Instead, use a new generic lock-ops approach. With this
approach, each plugin can define its own protocol implementation (or
use a generic one), and plugins can support multiple protocols without
having to change the plugin interface for each protocol.
|
| |
| |
| |
| | |
Passing the object type explicitly will enable generic lock constructors.
|