| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Useful to test how the kernel handles PRECISE_ENFORCEMENT.
|
|
|
|
|
|
|
| |
This avoids passing random stack contents to the kernel
if the structure gained some fields due to plugin development.
(Also, fix up some white space issues while we are at it.)
|
|
|
|
|
|
|
|
| |
how their execution budgets should be enforced: NO_ENFORCEMENT,
QUANTUM_ENFORCEMENT, and PRECISE_ENFORCEMENT (unsupported).
NOTE: Users of NO_ENFORCEMENT must call sleep_next_period() at the
end of every job to signal to the kernel that its job is complete.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restructure SConstruct to reduce the likelihood
of errors and to provide additional feedback.
Features:
- Better help. You can now run 'scons -h' to
get a listing of all build options.
- Local configuration. Build variables are picked up
in a local .config file, if present.
- Added --dump-config option to display the build
configuration.
- Use scons substitution system to avoid having to do
parameter substitutions manually.
- Some assorted fixes.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
32bit Intel systems don't actually report 'x86' as
their architecture, rather, they are i?86 systems.
Provide a lookup table to map these codes to the
'x86' name that is used in the SConstruct file.
|
| |
| |
| |
| | |
This is liblitmus, not ft_tools.
|
|/
|
|
|
| |
Can be used to dump the delay loop that rtspin
is using.
|
| |
|
|
|
|
| |
Passes.
|
|
|
|
| |
All passed.
|
|
|
|
|
| |
This syscall hasn't been around since Fall 2007... The RTCSA'08 paper
details how we are doing it now.
|
| |
|
| |
|