aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sched_pfp.c
Commit message (Collapse)AuthorAge
* Differentiate between PERIODIC and SPORADIC tasks.Glenn Elliott2013-03-12
| | | | | | | | | | | | | Tasks can now be PERIODIC or SPORADIC. PERIODIC tasks do not have their job number incremented when they wake up and are tardy. PERIODIC jobs must end with a call to sys_complete_job() to set up their next release. (Not currently supported by pfair.) SPORADIC tasks _do_ have their job number incremented when they wake up and are tardy. SPORADIC is the default task behavior, carrying forward Litmus's current behavior.
* Disallow nesting of LITMUS^RT locksBjoern Brandenburg2013-02-15
| | | | | | | | | | | | | | | | | | | | | Nesting of locks was never supported in LITMUS^RT since the required analysis does not exist anyway. That is, as defined in the literature, the protocols implemented in LITMUS^RT have not been studied in conjunction with nested critical sections. In LITMUS^RT, attempting to nest locks could lead to silent or not-so-silent bugs. This patch makes this restriction explicit and returns EBUSY when a process attempts to nest resources. This is enforced on a protocol-by-protocol basis, which means that adding protocols with support for nesting in future versions is not affected by this change. Exception: PCP and SRP resources may be nested, but not within global critical sections.
* PCP: allow NULL config parameterBjoern Brandenburg2013-02-15
| | | | | When the config parameter is NULL, just default to the local CPU, which is what we want in 99% of the cases anyway.
* P-FP: fix BUG_ON releated to priority inheritanceBjoern Brandenburg2013-02-04
| | | | | | | In some cases, the PCP priority inheritance code triggered a (defensive) BUG_ON() in fp_common.c. This shuffles the order of operations a bit to be compliant with the restriction that tasks are never compared against themselves.
* litmus: get rid of RT_F_SLEEP and RT_F_RUNNINGManohar Vanga2012-11-27
| | | | | | | | This patch removes the flags RT_F_SLEEP and RT_F_RUNNING as their name is misleading. This patch replaces them with a 'completed' field in struct rt_param. Signed-off-by: Manohar Vanga <mvanga@mpi-sws.org>
* litmus: fix warning about unused label in sched_pfp.cManohar Vanga2012-11-27
| | | | | | | This patch fixes a warning about an unused label in sched_pfp.c when CONFIG_LITMUS_LOCKING is not set. Signed-off-by: Manohar Vanga <mvanga@mpi-sws.org>
* P-FP: be less permissive about non-running tasks in queueBjoern Brandenburg2012-10-18
| | | | No suspended task should ever be queued in this plugin.
* P-FP: be paranoid in the preemption caseBjoern Brandenburg2012-10-18
| | | | | Crash and burn if an expected preemption didn't happen. This is useful to flag any bugs in the queue management code...
* P-FP: use proper CONFIG_ symbolBjoern Brandenburg2012-10-18
| | | | It's CONFIG_LITMUS_LOCKING, not just CONFIG_LOCKING...
* P-FP: simplify boost_priority()Bjoern Brandenburg2012-10-18
| | | | | | boost_priority() is only applied to already-scheduled tasks. Remove the (untested and unneeded) case handling unscheduled tasks, which was likely not correct anyway.
* P-FP: record job release records for tardy tasksBjoern Brandenburg2012-10-18
| | | | | When a job was tardy, the plugin failed to invoke sched_trace. This caused ugly "holes" in the visualized schedule.
* Fix wake_up() preemptions under P-FP and PSN-EDFBjoern Brandenburg2012-08-14
| | | | | | | Due to some mistake in the past, PSN-EDF was missing a check for preemptions when a task resumes. P-FP adopted it by virtue of copy&paste. This patch makes sure that a preemption is triggered when a higher-priority task is added to the ready queue.
* P-FP: reject tasks with invalid prioritiesBjoern Brandenburg2012-07-23
| | | | | | The existing admission test failed to test for too-low priorities. Use the common macro to accept only valid priorities.
* P-FP: fix build bug if !CONFIG_RELEASE_MASTERBjoern Brandenburg2012-07-23
| | | | | Move declaration of 'cpu' out of #ifdef block, it's also needed for CONFIG_LITMUS_LOCKING.
* P-FP: make PCP available to userspaceSven Dziadek2012-07-23
| | | | Prior to that it was only used internally for DPCP
* P-FP: port P-FP plugin used in B. Brandenburg'sSven Dziadek2012-07-23
dissertation (branch bbb-diss) to current version of litmus This is needed for ongoing projects I took the unchanged code but removed some leftovers of OMLP which is not implemented