| Commit message (Collapse) | Author | Age |
|
|
|
| |
This approach should both make the scheduler signals list more flexible
and fix the locking dependency detected by lockdep.
|
|
|
|
|
| |
Take out signal delivery from scheduler, circular locking possible.
Remove duplicate, unprotected sched_trace_job_completion()
|
| |
|
|
|
|
| |
use it to send weight change notifications
|
|
|
|
| |
This concept is redundant with the per-service-level weights. Also fix
the get_sl() macro.
|
| |
|
|
|
|
| |
The adaptive optimizer needs to sort lists.
|
|
|
|
| |
Adds slope and intercept to adaptive tasks and setup code.
|
|
|
|
|
| |
Introduces fixed point math header stuff and start of predictor support in
sched_adaptive.c
|
|
|
|
| |
This fixes some stupid typos.
|
|
|
|
| |
Make sure that the RT task starts out in a correct service level.
|
|
|
|
|
| |
Allow user space to set up service levels, also allow RT tasks to query
their current service level.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
This patch adds fields for service levels to the rt_param struct.
|
| |
| |
| |
| | |
Provide a place to do generic tear-down work.
|
|\| |
|
| |
| |
| |
| |
| | |
Since all plugins use rt_scheduler_tick() anyway, we might as well
get rid of the field.
|
| |
| |
| |
| | |
This is a long-overdue cleanup.`
|
|/
|
|
| |
This only introduces the necessary source files.
|
|
|
|
|
| |
litmus_controlled was 0 until _after_ first successful wake up.
Also adds some more debug info to mode switches.
|
|
|
|
|
| |
Don't try to reference signal related data structures after the tear down of
the task has started.
|
| |
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Allow userspace to wait for a specific job release.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
- TRACE jobs being queued
- TRACE enter_np/exit_np
- fix double assignment of F in sysrq handlers
|
| |
|
| |
|
| |
|
|
|
|
| |
semaphore.
|
|\
| |
| |
| |
| | |
Bjoern's changes + mine. Still need to fill in some stubs and ensure that
nothing broke.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
| |
zone-based locking.
|
|\
| |
| |
| | |
Pulled in the queue lock implementation.
|
| |
| |
| |
| |
| | |
Queue locks in LTMUS always must allow for NR_CPUS processes. Therefore,
it is redundant to specify that int queue_lock_init().
|
|/
|
|
|
| |
The current plugin's mode change callback was not being called when
switching from RT mode to NON-RT mode.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
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.
|