| Commit message (Collapse) | Author | Age |
|
|
|
| |
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.
|
|
|
|
| |
Move the architecture-dependent code to the arch/ subtree.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The kernel warns against including header files directly. For good
reason: our previous approach (just -I$KERNEL/include) caused all
kinds of files to be included that should have come from /usr/include
instead.
This patch rewrites the Makfile so that the (few) needed headers are
copied into the liblitmus src tree before compiling the library. This
avoids having to specify the kernel include directories with -I, and
also makes it easier to link against liblitmus (external applications
do not need to know where the kernel is).
Finally, this allows us to enable -Werror.
|