aboutsummaryrefslogtreecommitdiffstats
path: root/src/litmus.c
Commit message (Collapse)AuthorAge
* Changed syscall for access_forbidden_zone_checkztong2021-02-16
|
* Added support for CPU pinning in EXT-RESztong2021-02-09
|
* Ported global OMLP from BBB's dissertation work forward.Tanya Amert2020-09-23
|
* Cosmetic: Fix error string to match fn name.Glenn Elliott2014-06-06
| | | | | Patch cleans up an error message to match the migrate-to-domain API.
* Add support for the DFLPBjoern Brandenburg2014-04-01
| | | | Just add the ID and symbol.
* Use /proc/litmus/domains to set up affinity masksGlenn Elliott2014-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces the algorithm used to compute CPU affinity masks. The old algorithm was fragile and would break on systems with multiple levels of shared caches. (As found on some older Intel chips, and as one would probably find on a system with hyper-threading enabled.) The bug stems from fact that Linux enumerates consecutive CPUs in a way that distributes them across the physical system, thereby reducing contention resources (e.g., cache). Cluster size no longer needs to be provided now that cluster/CPU mappings are explicit in /proc/litmus/domains/. This keeps the following migration functions, but marks them as deprecated: - be_migrate_to_cluster() - cluster_to_first_cpu() - partition_to_cpu() Although the deprecated interfaces are supported, the implementations for these functions call the new be_migrate_to_domain() and domain_to_first_cpu() functions. [bbb: resolved several merge conflicts]
* Update constat SPORADIC->TASK_SPORADICBjoern Brandenburg2013-06-08
| | | | | A recent patch changed the name of the constant in the kernel. Update liblitmus accordingly.
* 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().)
* 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.
* 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
* 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 sporadic_task_ns() helperBjoern B. Brandenburg2009-04-29
| | | | Allows for higher-precision setup of real-time tasks.
* Add best effort task migration, so that we can support PSN-EDF.Bjoern B. Brandenburg2008-05-02
|
* adapt to new ABIBjoern B. Brandenburg2008-02-19
|
* change to nanosecond resolution time accountingBjoern B. Brandenburg2008-02-04
|
* many changesBjoern B. Brandenburg2008-02-03
| | | | | - use declarations from kernel - get rid of stuipd system call macros
* rip out old junkBjoern B. Brandenburg2008-02-03
|
* core: 2 bug fixesBjoern B. Brandenburg2008-01-28
| | | | | | | - Don't apply real-time parameters to thread group leader, apply them to the current thread. - Return 0 if no error occured in init_litmus() to make it consistent with the system calls of liblitmus.
* core: rip out task_active()Bjoern B. Brandenburg2008-01-24
|
* reorganize liblitmus to be more modularBjoern B. Brandenburg2008-01-23
|
* core: remove support for deprecated system callBjoern B. Brandenburg2008-01-22
|
* core: change real-time task creation to new transitioning methodBjoern B. Brandenburg2008-01-22
| | | The old clone based hack will be removed soon.
* add set_rt_param() wrapper sporadic_task()Bjoern B. Brandenburg2008-01-22
|
* [API] rename task_mode_transition() and don't exit on errorBjoern B. Brandenburg2008-01-22
|
* [ABI] add task_mode_transition system callBjoern B. Brandenburg2008-01-18
|
* ICS/FDSO: new FDSO ABI and ICS ABIBjoern B. Brandenburg2007-11-19
| | | update system call interface
* FDSO: make types available to user spaceBjoern B. Brandenburg2007-11-15
|
* ABI Change: adapt to new LITMUS syscall interface and incorporate FDSO callsBjoern B. Brandenburg2007-11-15
| | | This will break libso.
* Remove more old junkBjoern B. Brandenburg2007-10-17
|
* remove old cruft and add ADAPTIVE, block USR1Bjoern B. Brandenburg2007-10-17
|
* Implement user space adaptive task launching interface.Bjoern B. Brandenburg2007-10-05
|
* add litmus_task_active() APIBjoern B. Brandenburg2007-09-19
| | | | | | Most RT tasks need to do some cleanup before they can terminate. The litmus_task_active() API automates the catching of signals that indicate that the RT task should terminate.
* Change liblitmus to have a more sane repository layout.Bjoern B. Brandenburg2007-09-18