| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We originally switched from make to scons because
1) our makefiles were not very good;
2) SCons promised to make maintaining the build system simpler.
Unfortunately, SCons has become more and more difficult to deal with
as we moved to supporting several architecture and cross compilation,
to the extend that we ended up re-creating make functionality in SCons.
So let's switch back to make using a "clean" Makefile.
Thanks a lot to Andrea Bastoni and Chris Kenna for feedback on
previous iterations of these patches.
|
| |
|
|
|
|
|
|
|
|
| |
Prevents `which dialog` from outputting (ugly) information to stderr
in the case that dialog is not installed.
Changes error message to make it more clear that dialog is strictly
optional.
|