| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
This is useful for testing locking protocol implementations (not
intended for benchmarking!), and also serves to document how to use
the LITMUS^RT locking API.
|
|
|
|
| |
Useful for correlating test failures to events in traces.
|
|
|
|
|
| |
Context: priority inheritance triggered a BUG_ON() in fp_common.c.
While at it, add a similar test for the SRP.
|
|
|
|
| |
This mirrors the option in rtspin.
|
|
|
|
|
|
|
| |
The -f option required manually *also* setting
the -w option. This is no longer required.
While at it, simplify the code by using the /proc interface.
|
|
|
|
|
|
| |
Branch litmus-rt/prop/robust-tie-break added fpmath.h for fixed-point
computations. Updated Makefile to pull this header from litmus-rt
so it may also be used in liblitmus.
|
|
|
|
|
| |
Make sure the kernel and userspace compilers have the same idea of the
layout of the control page.
|
|
|
|
|
|
| |
Resuming higher-priority tasks should of course preempt lower-priority
tasks. This test case infers if higher-priority tasks are unreasonably
delayed.
|
|
|
|
|
| |
Wrap nanosleep() to make sleeping for a given number of
nanoseconds easier, using the LITMUS^RT time type lt_t.
|
|
|
|
|
| |
Add a wrapper for /proc/litmus/stats to make it easy to query the
number of tasks already waiting for a task set release.
|
|
|
|
|
| |
The 2 second delay was quite annoying. Make it short enough to not be
so obvious.
|
|
|
|
|
| |
Do the basic open/lock/unlock/close test sequence for the MPCP and the
DPCP as well.
|
|
|
|
| |
For consistency reasons and to document the cpu parameter of the DPCP.
|
|
|
|
| |
Prevents accidental staging of auto-generated files.
|
|
|
|
|
| |
Add a test that makes sure that the kernel does indeed not accept
infeasible densities.
|
|
|
|
| |
Try to infer current plugin if no plugin is specified.
|
|
|
|
| |
Also add the priority parameter, which was missing.
|
|
|
|
|
|
|
|
| |
Updated APIs to support arbitrary deadlines. Added macros for implicit
deadlines.
Note: Had to tweak Makefile to support gcc version >= 4.6 (moved -lrt to the
end of the link command).
|
|
|
|
|
| |
Segmentation faults are clearly test failures;
make sure to report them accordingly.
|
|
|
|
|
| |
Under any plugin, the control page should be mappable
and writable.
|
|
|
|
|
| |
Make sure out-of-range priorities
are always rejected.
|
|
|
|
|
|
| |
Use the kernel's notion of fixed priorities.
Also, add some clarifying comments to the
task setup wrappers.
|
|
|
|
|
|
| |
PCP was only used for DPCP before
tests: add some basic tests for PCP under P-FP
|
|
|
|
|
|
|
|
|
| |
dissertation (branch bbb-diss)
I took the unchanged code but removed references
to OMLP which was and is not implemented
tests: changed so that they work for P-FP
|
|
|
|
|
| |
This is not the 2010 version anymore, so let's use a version-agnostic
path.
|
|
|
|
| |
Everything is in one 32-bit word now.
|
|
|
|
| |
we need uint64_t in litmus.h
|
|
|
|
|
|
|
| |
Since set_rt_task_param() checks for wrong budget policies,
make sure to specify a valid policy to avoid errors like the following.
litmus: real-time task 3635 rejected because unsupported budget enforcement policy specified
|
|
|
|
| |
This is useful for tests that apply to any plugin.
|
| |
|
|
|
|
|
| |
The new generic lock layer in LITMUS^RT does away with per-protocol
system calls. Change accordingly.
|
|
|
|
|
| |
The timing functions are quite handy when building benchmark tasks.
Avoid copy&paste reuse by making them available via the library.
|
|
|
|
|
| |
We want the positive loop length, not the negative, to prevent jobs
from overruning their budget.
|
| |
|
|
|
|
|
| |
Using cputime() is much more accurate than the old delay loop
auto-configuration. There is no good reason to keep it around.
|
|
|
|
|
| |
Still need to figure out what to do with the period is less than the
exec_cost (or budget).
|
|
|
|
|
|
| |
The ARM port uses <litmus... instead of "litmus..., so let's use egrep
with a proper regular expression to reliably find the line that includes
the Litmus system calls.
|
|
|
|
| |
It should be possible to see the help when the configuration is broken.
|
|
|
|
|
| |
Some initial documentation to aid new users get started with compiling
the library.
|
|
|
|
|
| |
cscope is very nice for exploring the library and finding related
code. Let's support it by pre-building an index of all files.
|
|
|
|
|
| |
It's nice to have a TAGS file around when exploring the library. Let's
generate one for vim and emacs.
|
| |
|
|
|
|
|
|
| |
We avoid doing the same thing over and over in all repositories using
liblitmus if we just pull in common rules & configurations from
liblitmus. This gives us the ability to cross-compile for free.
|
|
|
|
|
| |
rtspin produces prettier schedules if it transitions to non-real-time
mode before terminating.
|
|
|
|
|
|
|
|
|
|
|
| |
For historic resons, we carry old atomic operations support in
liblitmus. This is no longer useful:
1) There is actually no client for these calls in liblitmus.
2) There is now a standard gcc API for this purpose.
http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html
Thus, we can reduce our maintenance burden.
|
|
|
|
|
| |
Failing loudly is a lot better than just producing a cryptic error
message about some dependency file.
|
|
|
|
| |
This hopefully helps a bit to clarify the output.
|
|
|
|
|
|
| |
This should only trigger if the execution time tracking is broken (as
it was on District10). With the emergency exit, we at least prevent
the system from becoming unresponsive.
|
|
|
|
|
| |
We don't have BASH on District10 at the moment, and the scripts
work just fine with busybox's /bin/sh replacement (ash).
|
|
|
|
|
| |
The atomic.h file is currently only a dummy, but it is sufficient to
get basic real-time tasks to run.
|