aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/litmus.c
Commit message (Collapse)AuthorAge
* litmus: Rework scheduler signals implementationBjoern B. Brandenburg2007-10-17
| | | | This approach should both make the scheduler signals list more flexible and fix the locking dependency detected by lockdep.
* FIXME: hot fixes to get it to runBjoern B. Brandenburg2007-10-09
| | | | | Take out signal delivery from scheduler, circular locking possible. Remove duplicate, unprotected sched_trace_job_completion()
* adaptive: only send signal when requested.Bjoern B. Brandenburg2007-10-09
|
* litmus-core: add scheduler_signal() infrastructureBjoern B. Brandenburg2007-10-09
| | | | use it to send weight change notifications
* adaptive: get rid of weight-estimator slope misconceptionBjoern B. Brandenburg2007-10-09
| | | | This concept is redundant with the per-service-level weights. Also fix the get_sl() macro.
* adaptive: debuggingBjoern B. Brandenburg2007-10-08
|
* litmus: add qsort list manipulation functionBjoern B. Brandenburg2007-10-07
| | | | The adaptive optimizer needs to sort lists.
* adaptive: add linear weight_transfer metricBjoern B. Brandenburg2007-10-07
| | | | Adds slope and intercept to adaptive tasks and setup code.
* adaptive: introduce fixed point mathBjoern B. Brandenburg2007-10-07
| | | | | Introduces fixed point math header stuff and start of predictor support in sched_adaptive.c
* Fix service level system call.Bjoern B. Brandenburg2007-10-05
| | | | This fixes some stupid typos.
* adaptive: set period and wcet based on first service levelBjoern B. Brandenburg2007-10-04
| | | | Make sure that the RT task starts out in a correct service level.
* adaptive: introduce service level system callsBjoern B. Brandenburg2007-10-04
| | | | | Allow user space to set up service levels, also allow RT tasks to query their current service level.
* Import race fix.Bjoern B. Brandenburg2007-10-04
|\
| * Fix long standing set_rt_params race by disallowing it.Bjoern B. Brandenburg2007-10-04
| | | | | | | | | | | | There really is no reason why RT params of a RT task should be changed. The sporadic task model does not allow for it, the schedulers don't expect it, and adaptive tasks will be implemented differently.
* | adaptive: introduce service levelBjoern B. Brandenburg2007-10-04
| | | | | | | | This patch adds fields for service levels to the rt_param struct.
* | Wrap task teardown.Bjoern B. Brandenburg2007-10-04
| | | | | | | | Provide a place to do generic tear-down work.
* | Merge with qemu branchBjoern B. Brandenburg2007-10-04
|\|
| * Cleanup: Get rid of unneeded algo_tick indirection.Bjoern B. Brandenburg2007-10-04
| | | | | | | | | | Since all plugins use rt_scheduler_tick() anyway, we might as well get rid of the field.
* | Remove some really old left-overs.Bjoern B. Brandenburg2007-10-04
| | | | | | | | This is a long-overdue cleanup.`
* | Add adaptive scheduler based on GSN-EDF.Bjoern B. Brandenburg2007-10-04
|/ | | | This only introduces the necessary source files.
* Fix litmus_controlled initialization bug.Bjoern B. Brandenburg2007-09-23
| | | | | litmus_controlled was 0 until _after_ first successful wake up. Also adds some more debug info to mode switches.
* Fix a race between np_mem_kill() and do_exit().Bjoern B. Brandenburg2007-09-22
| | | | | Don't try to reference signal related data structures after the tear down of the task has started.
* reintroduce TS_EXIT_NP_* Feather-Trace events.Bjoern B. Brandenburg2007-09-17
|
* add flag based np-sectionsBjoern B. Brandenburg2007-09-13
| | | | | | This commit introduces the infrastructure for flag based np sections. It also features an overhauled GSN-EDF scheduler that respects the flags (and has less bugs).
* Add wait_for_job system callBjoern B. Brandenburg2007-08-21
| | | | Allow userspace to wait for a specific job release.
* Fix a compiler warning.Bjoern B. Brandenburg2007-05-17
|
* Insert trigger for enter_np()/exit_np() tracing.Bjoern B. Brandenburg2007-05-16
|
* Activate ceiling blocking and fix a stupid list corruption bug.Bjoern B. Brandenburg2007-05-15
|
* First part of the PI semaphore implementation.Bjoern B. Brandenburg2007-05-14
| | | | | | | | | | | - move struct pi_semaphore to place where it makes more sense (not included everywhere) - change semantics of scheduler plugin callbacks and add comments - remove old unneeded code - compile fixes Note: The plugins don't actually work yet, since the semantics of the callbacks have changed. That will be fixed in the next patch.
* Improve debugging output and supportBjoern B. Brandenburg2007-05-13
| | | | | | - TRACE jobs being queued - TRACE enter_np/exit_np - fix double assignment of F in sysrq handlers
* Add PSN-EDF.Bjoern B. Brandenburg2007-05-10
|
* Various changes that I don't want to lose, but the code does not work.John M. Calandrino2007-05-09
|
* Removed incomplete zone-based implementation.John M. Calandrino2007-04-25
|
* Fixed GSN-EDF to handle correct wakeup of tasks that just exited aJohn M. Calandrino2007-04-24
| | | | semaphore.
* Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmusJohn M. Calandrino2007-04-23
|\ | | | | | | | | Bjoern's changes + mine. Still need to fill in some stubs and ensure that nothing broke.
| * Add scheduler plugin callbacks for priority inheritance.Bjoern B. Brandenburg2007-04-23
| |
| * Add boot option and ID for GSN-EDF.Bjoern B. Brandenburg2007-04-17
| |
| * add system calls sys_enter_np() and sys_exit_np()Bjoern B. Brandenburg2007-04-17
| |
| * Add enter_np/exit_np callbacks for non-preemptable sections supportBjoern B. Brandenburg2007-04-17
| |
| * PFAIR scheduling addedHennadiy Leontyev2007-02-28
| |
* | Worked out some bugs so now it *really* compiles OK.John M. Calandrino2007-03-29
| | | | | | | | | | | | | | System calls and user-level code in libso related to zone-based locking still needs to be tested. Additionally, need to fix an issue getting the time of day within an interrupt handler --- the current method will compile but it will not run because of the need to claim a lock in the handler.
* | Checkpoint: almost all support added. Compiles.John M. Calandrino2007-03-29
| |
* | sys_wait_for_zone_exit system call has been implemented.John M. Calandrino2007-03-29
| | | | | | | | | | | | | | | | sys_wait_for_zone_exit waits on a flag which is cleared during the local timer interrupt. Yet more race conditions have been avoided by performing zone checks before waiting for the flag, and by setting the flag *before* performing the zone check, so that if we enter the loop immediately after leaving the blocking zone, we are still okay.
* | Skeletons of system calls written. Still need to finish.John M. Calandrino2007-03-27
| |
* | Committing some initial changes to implement system calls related toJohn M. Calandrino2007-03-27
|/ | | | zone-based locking.
* Merge with git+ssh://swan/playpen/bbb/litmusBjoern B. Brandenburg2007-02-22
|\ | | | | | | Pulled in the queue lock implementation.
| * remove second, unneeded parameter of queue_lock_init()Bjoern Brandenburg2007-02-19
| | | | | | | | | | Queue locks in LTMUS always must allow for NR_CPUS processes. Therefore, it is redundant to specify that int queue_lock_init().
* | always call mode change callbackBjoern B. Brandenburg2007-02-22
|/ | | | | The current plugin's mode change callback was not being called when switching from RT mode to NON-RT mode.
* Fix a bunch of bugs that crept in while porting.Bjoern Brandenburg2007-02-05
| | | | | | | | * Our old clone flag is already taken in 2.6.20. * Fix wrong is_running() macro. * Remove double ->finish_switch() call. * Move sched_trace_scheduled to non-preemtible section. * Allow next = idle task in RT mode.
* patched up schedule()Bjoern B. Brandenburg2007-02-02
| | | | | | As we currently do not support direct switching, I removed the DIRECT_SWITCH option. Migration is still supported but only if not in RT mode. This may have to be checked again.