aboutsummaryrefslogtreecommitdiffstats
path: root/bin/rtspin.c
Commit message (Collapse)AuthorAge
* Merge branch 'prop/rt_task-init-final' into tempGlenn Elliott2013-03-13
|\ | | | | | | | | | | | | | | | | | | Conflicts: bin/base_mt_task.c bin/rt_launch.c bin/rtspin.c include/litmus.h src/litmus.c src/task.c
| * Change convenience API routines.Glenn Elliott2013-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | The sproadic_*() macros have become unwieldy. This patch replaces those convenience macros for global, clustered, and partitioned scheduling. A part of this API change is the explicit use of nanosecond time-values. Prior APIs have used lt_t (litmus time), which had an implied time scale of nanoseconds. /bin apps and test suite also updated to use revised API. Modifications to the test suite are mostly centered around using nanoseconds instead of milliseconds.
| * Cluster-aware rtspin and rt_launch.Glenn Elliott2013-03-12
| | | | | | | | | | | | | | | | | | This patch adds cluster scheduling options to rtspin and rt_launch. The convenience routines in litmus.h were also updated to facilitate clustered scheduling. For partitioned scheduling, just set cluster_size = 1 (default size for rtspin and rt_launch).
| * Auto-CPU-affinity from part./cluster assignment.Glenn Elliott2013-03-12
| | | | | | | | | | | | | | | | | | | | | | This patch replaces be_migrate_to() with several be_migrate_*() APIs to automatically assign CPU affinity masks from a task's partition (or cluster) assignment. Routines are release-master-aware such that the release master (if one exists) will NOT be included in the task's affinity mask. (Note that release-master avoidance may be overridden by calling __be_migrate_thread_to_cluster().)
* | Merge branch 'gh/staging' into tempGlenn Elliott2013-03-13
|\| | | | | | | | | | | | | | | Conflicts: Makefile bin/rt_launch.c bin/rtspin.c src/task.c
| * uncachedev: uncache test tool.Glenn Elliott2013-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the uncache test tool (bin/uncache.c). The tool can be used to test Litmus's char device driver for allocating uncacheable CPU memory. The tool runs various checks and gathers basic cache vs. main memory statistics. In the future, uncache could be extended to quantify the benefits of the L1, L2, and L3 caches, instead of treating them as a black box. Note: Uncache works best when compiled with '-O2'. While '-O2' has not been added to the Makefile, other code was updated (code in tests/ and rtspin), to compile with -O2. DEPENDS UPON LITMUS-RT PATCH 888d097deb6d1fdc0c89a4f9667fd81cf416cfc7.
| * Add basic locking support to rtspinBjoern Brandenburg2013-02-04
| | | | | | | | | | | | 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.
* | Merge branch 'mpi-master' into wip-2012.3-gpuGlenn Elliott2013-01-10
|\| | | | | | | | | | | | | | | Conflicts: Makefile bin/rtspin.c include/litmus.h src/litmus.c
| * Make use of kernel-provided FP macrosBjoern Brandenburg2012-06-26
| | | | | | | | | | | | Use the kernel's notion of fixed priorities. Also, add some clarifying comments to the task setup wrappers.
| * P-FP: make PCP available to user spaceSven Dziadek2012-05-31
| | | | | | | | | | | | PCP was only used for DPCP before tests: add some basic tests for PCP under P-FP
| * P-FP: port P-FP plugin used in B. Brandenburg'sSven Dziadek2012-05-31
| | | | | | | | | | | | | | | | | | 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
* | Added signal-related comments. Made g++ friendly.prop/litmus-signalsGlenn Elliott2012-09-07
| |
* | Updated sporadic_task() to take sig policy.Glenn Elliott2012-09-07
|/ | | | | | | Also changed the LITMUS_TRY/LITMUS_CATCH/END_LITMUS_TRY macros to use if/else-if chains instead of switch statements. This is because SIGRTMAX is a variable in libc and not a compile-time constant (switches cant be used).
* Export wctime() and cputime() from rtspin to library clientsBjoern B. Brandenburg2011-02-03
| | | | | The timing functions are quite handy when building benchmark tasks. Avoid copy&paste reuse by making them available via the library.
* bugfix: switch operangs in delay computationBjoern B. Brandenburg2011-02-03
| | | | | We want the positive loop length, not the negative, to prevent jobs from overruning their budget.
* Remove old delay loop configuration cruft from rtspinBjoern B. Brandenburg2011-01-30
| | | | | Using cputime() is much more accurate than the old delay loop auto-configuration. There is no good reason to keep it around.
* Modify RTSpin so that it can read execution time data from a CSV file.Christopher Kenna2011-01-30
| | | | | Still need to figure out what to do with the period is less than the exec_cost (or budget).
* rtspin: transition back to non-real-time modeBjoern B. Brandenburg2010-11-22
| | | | | rtspin produces prettier schedules if it transitions to non-real-time mode before terminating.
* add emergency exit to rtspinBjoern B. Brandenburg2010-11-09
| | | | | | 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.
* rtspin: add -e option to enable PRECISE_ENFORCEMENT2010.2Bjoern B. Brandenburg2010-10-19
| | | | Useful to test how the kernel handles PRECISE_ENFORCEMENT.
* Support budget enforcement policies. Allows tasks to specifyGlenn Elliott2010-05-20
| | | | | | | | 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.
* Add -v (verbose) switch to rtspin.Bjoern B. Brandenburg2010-03-10
| | | | | Can be used to dump the delay loop that rtspin is using.
* rtspin: suppress init_litmus() perror() call, it reports rubbishBjoern B. Brandenburg2009-04-29
|
* rtspin: allow fractional costs and periodsBjoern B. Brandenburg2009-04-29
|
* rtspin: use POSIX clock to better approximate runtimeBjoern B. Brandenburg2009-04-14
| | | | this finally appears to work reasonably on Flare
* auto-configure spin loop in rtspinBjoern B. Brandenburg2009-03-25
| | | | | Don't just blindly overrun the budget. Instead, try to measure a spin loop and hope that we get good results.
* replace run with rtspinBjoern B. Brandenburg2008-12-01