aboutsummaryrefslogtreecommitdiffstats
path: root/src/task.c
Commit message (Collapse)AuthorAge
* Fix memset() parameters for scheduling parameter structNamhoon Kim2015-08-03
| | | | Signed-off-by: Bjoern Brandenburg <bbb@mpi-sws.org>
* Make sure scheduling parameter struct is zeroed outBjoern Brandenburg2015-07-20
|
* Modernize rt_launch; remove internal API cruftBjoern Brandenburg2014-06-03
| | | | | | | Switch rt_launch to use a more modern way to launch real-time tasks. This makes rt_launch more flexible, makes it more similar to rtspin, and also allows to let us get rid of a chunk of old, inflexible code in liblitmus that wasn't really serving any useful purpose anymore.
* Add missing default param initializationBjoern Brandenburg2014-04-01
| | | | | | Make sure new default parameters such as the deadline are taken care of in the old task creation routines. This fixes a problem with rt_launch.
* 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]
* Add testcase for admission of suspended tasksBjoern Brandenburg2013-06-08
| | | | | | The kernel needs to be able to deal with tasks that do not make themselves a real-time task, but get configured by some other task instead.
* 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).
* rt_launch: add support for -q <priority>Bjoern Brandenburg2013-01-11
| | | | This mirrors the option in rtspin.
* 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.
* Use _GNU_SOURCE for all files. Fix wrong prototypes.Bjoern B. Brandenburg2008-05-02
|
* adapt to new ABIBjoern B. Brandenburg2008-02-19
|
* first changes to compile with LITMUS 20082008.0Bjoern B. Brandenburg2008-02-12
|
* many changesBjoern B. Brandenburg2008-02-03
| | | | | - use declarations from kernel - get rid of stuipd system call macros
* reorganize liblitmus to be more modularBjoern B. Brandenburg2008-01-23