| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
under EXT-RES scheduling with the global OMLP.
Note that this assumes the caller already holds the lock.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
bin/rtspin.c
Resolve option clash by moving the calibration loop to -a0.
|
| |
| |
| |
| |
| |
| |
| |
| | |
In order to get more trustworth delay loop debug values, use the
same cputime() function to measure elapsed time as the rest of
functions do.
Signed-off-by: Andrii Anisov <andrii_anisov@epam.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tell compiler to not inline a counted loop function. In order to get
consistent execution time of it, being called from different places
of C code.
Without inlining, time execution deviation reached up to 4% for loops
calibration and verification procedures.
Signed-off-by: Andrii Anisov <andrii_anisov@epam.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to make experiments in virtualized environment it is
introduced a task (rtspin) configuration based on amount of work.
Though this configuration requires some manual operation for choosing
number of cycles burned for 1ms of task execution.
First you need to run 'rtspin -A' baremetal or on a virtualized
environment with pinned CPUs with 100% bandwidth and take a cycles number
for 1ms taks. Optionally verify chosen number with 'rtspin -l -a CYCLES'.
Then use the number for workload runs.
Signed-off-by: Andrii Anisov <andrii_anisov@epam.com>
|
| |
| |
| |
| |
| | |
Similar to the -C option, this option allows specifying pre-determined
inter-arrival times.
|
| | |
|
| |
| |
| |
| |
| | |
Specify a single argument of the form -C FILE[:COLUMN] instead of -F
FILE -C COLUMN.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The combination of -S and -O can be used to generate simple event
chains. For example, under the GSN-EDF plugin, the following command
creates a simple two-stage pipeline that is triggered about once a
second for seven seconds.
(for x in 1 2 3 4 5 6 7; do echo $x; sleep 1; done) |
rtspin -v 10 1000 10 -O -S |
rtspin -v 10 100 10 -O -S > /tmp/foo.txt
The output is logged to /tmp/foo.txt.
|
|/
|
|
| |
We want to reserve STDOUT for actual output.
|
|
|
|
|
|
|
|
|
| |
Userspace now gets to decide when exactly a synchronous release should
take place.
Additionally, introduce -q option to ensure that the synchronous
release occurs at an integer multiple of a given quantum size (or
hyperperiod length).
|
|
|
|
| |
While at it, clean up the "loop with memory" code a bit.
|
|
|
|
|
|
|
| |
Based on mailing list reports, it's not obvious when liblitmus fails
to build due to a missing Python installation (as for instance the
case in a default Ubuntu 16.04 LTS install). Make the error a bit more
prominent.
|
|
|
|
| |
No longer supported by the current kernel patch.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Allow inter-arrival delays to be drawn uniformly at random from
[MIN-DELTA, MAX-DELTA], where the two bounds MIN-DELTA and MAX-DELTA
can be set with -E and -D, respectively.
|
| |
|
|
|
|
| |
by default, leave some slack for overheads
|
| |
|
| |
|
|
|
|
| |
Omit budget and period when launching tasks inside reservations.
|
|
|
|
|
| |
1. use str2int() and str2double()
2. don't require bugs wcet and period arguments when using reservations
|
|
|
|
| |
Don't silently ignore incorrect parameters.
|
| |
|
|
|
|
|
|
|
| |
Required for get_cycles() in userspace. This is required to compile
the tools. Whether or not get_cycles() works in userspace depends on
whether the kernel has enabled access to the CNTVCT_EL0 register from
userspace (= exception level EL0).
|
|
|
|
| |
Using the recently added APIs litmus_clock() and lt_sleep_until().
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Without custom system calls, there no longer is a reason to copy in
these files.
|
|
|
|
| |
LITMUS^RT no longer adds any custom system calls.
|
| |
|
|
|
|
|
| |
This make rtspin use the regular Linux API for periodic activations
instead of the LITMUS^RT-specifc sleep_next_period() API.
|
|
|
|
| |
While at it, also fix exec-times-from-CSV support.
|
|
|
|
| |
Convenient wrapper for CLOCK_MONOTONIC -> lt_t.
|
| |
|
|
|
|
|
|
|
|
| |
- Decompose read_mapping into two functions: *read_mapping* which reads
CPU mapping data as string from file, and *set_mapping* that actually sets
the cpu_set_t according to the mapping
- Add unit test for setting cpu_set_t to various CPU indexes
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Appearantly, a newline character is appended to the end of CPU mapping
string. It seems like this was not the case with old versions of liblitmus and
in order not to break the intended behaviour of code, newline appended
to CPU mapping string is simply ignored
-Pointer arithmetic for parsing CPU mapping is done within loop body to prevent
"array subscript is below array bounds" warning prompted by gcc-6.1.1
-Fix indentation and whitespaces
|
| |
|
| |
|