aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAge
* signal handling in gpuspinGlenn Elliott2013-05-15
|
* several new *important* featuresGlenn Elliott2013-05-06
| | | | | | 1) gpusync daemon mode. 2) engine yield logic 3) fixed chunking (did not work on memcpys > 2 chunks)
* randomize job execution time w/ noraml distribu.Glenn Elliott2013-05-02
|
* integrated numa support and fixed p2p migrationGlenn Elliott2013-04-24
|
* updates for further litmus developmentGlenn Elliott2013-04-16
|
* FIX: Ignore SIG_BUDGET until explicitly unblocked.Glenn Elliott2013-03-21
| | | | | | The SIG_BUDGET should be ignored until the user code is ready for them, even if that code has already set up a signal handler.
* Change create_rt_task() to task rt_task parameter.Glenn Elliott2013-03-21
| | | | | | | This updates create_rt_task() to take an rt_task parameter instead of a number of task parameters. This probably should have been a part of patches recent patches that revised the sproadic_*() macros.
* 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.
| * Add init_rt_task_param().Glenn Elliott2013-03-12
| | | | | | | | | | Adds init_rt_task_param(). Facilitates setting up default real-time task attributes that cannot be set by memset(0).
| * 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
| * 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.
| * rt_launch: add support for -q <priority>Bjoern Brandenburg2013-01-11
| | | | | | | | This mirrors the option in rtspin.
| * Make release_ts a bit more userfriendlyBjoern Brandenburg2013-01-11
| | | | | | | | | | | | | | 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.
* | Work with wip-2012.3-gpuGlenn Elliott2013-02-28
| |
* | support log injectionGlenn Elliott2013-01-27
| |
* | Merge branch 'mpi-master' into wip-2012.3-gpuGlenn Elliott2013-01-10
|\| | | | | | | | | | | | | | | Conflicts: Makefile bin/rtspin.c include/litmus.h src/litmus.c
| * Add control page offset checksstagingBjoern Brandenburg2012-12-06
| | | | | | | | | | Make sure the kernel and userspace compilers have the same idea of the layout of the control page.
| * Implement lt_sleep() syscall wrapperBjoern Brandenburg2012-08-14
| | | | | | | | | | Wrap nanosleep() to make sleeping for a given number of nanoseconds easier, using the LITMUS^RT time type lt_t.
| * Implement get_nr_ts_release_waiters() /proc wrapperBjoern Brandenburg2012-08-14
| | | | | | | | | | Add a wrapper for /proc/litmus/stats to make it easy to query the number of tasks already waiting for a task set release.
| * API Update: Support arbitrary deadlines.Glenn Elliott2012-08-01
| | | | | | | | | | | | | | | | 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).
| * 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
* | blargGlenn Elliott2013-01-09
| |
* | Merge branch 'wip-gpu-rtas12' into wip-slave-threadsGlenn Elliott2013-01-09
|\ \ | | | | | | | | | | | | | | | Conflicts: Makefile src/syscalls.c
| * \ Merge remote-tracking branch 'github/prop/litmus-signals' into wip-gpu-rtas12Glenn Elliott2012-09-10
| |\ \ | | | | | | | | | | | | | | | | Conflicts: Makefile
| | * | 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).
| | * | Enable handling of Litmus signals.Glenn Elliott2012-09-07
| | |/ | | | | | | | | | | | | | | | | | | Add support for handling Litmus-specific signals. Includes framework try/catch-style handling of signals. SIG_BUDGET is the only Litmus signal at the moment.
| * | GPUSync RTSS12 liblitmuswip-gpu-rtss12Glenn Elliott2012-05-26
| | |
| * | add rsm and ikglp supportGlenn Elliott2012-04-16
| |/
* / aux thread support startGlenn Elliott2012-09-12
|/
* Switch to new np-section protocol.Bjoern B. Brandenburg2011-11-24
| | | | Everything is in one 32-bit word now.
* update headersBjoern B. Brandenburg2011-11-24
| | | | we need uint64_t in litmus.h
* switch to generic locking system callsBjoern B. Brandenburg2011-02-03
| | | | | The new generic lock layer in LITMUS^RT does away with per-protocol system calls. Change accordingly.
* 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.
* remove asm/atomic.hBjoern B. Brandenburg2010-11-09
| | | | | | | | | | | 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.
* refactor: remove all architecture-dependent code from include/Bjoern B. Brandenburg2010-11-09
| | | | Move the architecture-dependent code to the arch/ subtree.
* avoid including header files directlyBjoern B. Brandenburg2010-11-09
| | | | | | | | | | | | | | | 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.
* zero out rt_task parameters before setting themBjoern B. Brandenburg2010-09-22
| | | | | | | 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.)
* 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 get_control_page() library functionAndrea Bastoni2010-04-12
|
* Re-implement non-preemptive section support.Bjoern B. Brandenburg2010-02-03
| | | | Layered on top of the LITMUS control page.
* sleep_next_period() maps on syscall sys_complete_jobAndrea Bastoni2009-12-17
|
* Temporary remove non-preemptive CSAndrea Bastoni2009-12-17
|
* sparc64: disable np-flag supportBjoern B. Brandenburg2009-04-29
| | | | Doesn't work reliably right now anyway.
* add sporadic_task_ns() helperBjoern B. Brandenburg2009-04-29
| | | | Allows for higher-precision setup of real-time tasks.
* remove sched_trace stuff from liblitmusBjoern B. Brandenburg2009-04-14
|