aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* Fixed several bugs in the semaphore code concerning racing wake ups + miscBjoern B. Brandenburg2007-05-15
| | | | fixex.
* Fix try_to_wake_up() for RT tasks if it races with schedule.Bjoern B. Brandenburg2007-05-15
| | | | | We need to set the task state to TASK_RUNNING if it races, otherwise the task might get lost once it gets de-scheduled.
* 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.
* Move common code to edf_common.c.Bjoern B. Brandenburg2007-05-14
| | | | | Finding the highest-priority task in a pi_semaphore is same in all EDF-based plugins.
* Fix gsnedf_sleep_next_period() locking.Bjoern B. Brandenburg2007-05-14
|
* Fix GSN-EDF sleep_next_periodBjoern B. Brandenburg2007-05-14
| | | | | The standard EDF implementation does not work for GSN-EDF since it does not perform the task preparation in schedule().
* Reimplemented LITMUS standard FIFO semaphores + misc fixesBjoern B. Brandenburg2007-05-14
| | | | | | | This version is much more straightforward than the last one and actually enforces FIFO order in all cases. Further, it removes the need for the sem_wake_up() calls by providing a custom wake up function for the wait queue.
* Move specialized PI semaphore code into litmus_sem.c + small fixBjoern B. Brandenburg2007-05-14
| | | | | | | - Let's keep all the code belonging to LITMUS in one place, this makes maintenance and porting much easier. - add_wait_queue_exlclusive_locked() sets the exclusive flag anyway
* Start of LITMUS semaphore, PI, and SRP rewrite.Bjoern B. Brandenburg2007-05-14
| | | | | Rearrange the code to get out of the architecture dependent areas of the kernel and make it live in a central file, kernel/litmus_sem.c.
* Remove old, unneeded ASM cruft.Bjoern B. Brandenburg2007-05-14
|
* Initial implementation of inherit and return priority for PSN-EDF.Bjoern B. Brandenburg2007-05-13
|
* Streamline PI implementation a little.Bjoern B. Brandenburg2007-05-13
|
* Kick out commented ASM code.Bjoern B. Brandenburg2007-05-13
|
* Added psnedf_handle_priority_change() implementationBjoern B. Brandenburg2007-05-13
|
* NP section backport and debug fixesBjoern B. Brandenburg2007-05-13
| | | | | | - port NP section logic from PSN-EDF to GSN-EDF - remove old debugging stuff from GSN-EDF - add some tracing info
* Add macros for convenient task tracing.Bjoern B. Brandenburg2007-05-13
|
* Add a whole bunch of TRACEs to facilitate debugging.Bjoern B. Brandenburg2007-05-13
|
* TRACE RT task arrivals and departures.Bjoern B. Brandenburg2007-05-13
|
* 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
* Pay attention to (preempt_count() & PREEMPT_ACTIVE) hack.Bjoern B. Brandenburg2007-05-13
| | | | | | | | | | This change should fix the long standing problem that certain IO intensive work loads would "crash" the kernel. What really happened was that real-time tasks caught an interrupt right before they would have called schedule as a part of a suspension anyway. As they were already in a different state then TASK_RUNNING, they were not requeued and got lost. If they were holding important locks (such as a TTY lock or the BKL), then "bad things" happened...
* Use volatile access and relax_cpu() in queue lock.Bjoern B. Brandenburg2007-05-13
|
* PSN-EDF fixes.Bjoern B. Brandenburg2007-05-10
| | | | | | - fix recursive lock acquisition of cpu state lock, found by deplock - properly guard cpu state during mode change - cosmetic fix in initialization
* Pull in John's SRP fixes.Bjoern B. Brandenburg2007-05-10
|\ | | | | | | Merge with git+ssh://cvs/cvs/proj/litmus/repo/litmus
| * Modified SRP semaphores so that waiting for prio to exceed SPC worksJohn M. Calandrino2007-05-10
| | | | | | | | correctly, mostly by adding waitqueues and rewriting wait_until_exceed_spc.
* | Add PSN-EDF.Bjoern B. Brandenburg2007-05-10
| |
* | Minor fixes.Bjoern B. Brandenburg2007-05-10
| |
* | Break out __release_pending() from try_release_pending()Bjoern B. Brandenburg2007-05-10
| |
* | Some random code cleanup.Bjoern B. Brandenburg2007-05-10
| | | | | | | | | | | | - IRQs are disabled in _schedule - use TRACE - coding style
* | Make in_list() function available to all plugins.Bjoern B. Brandenburg2007-05-10
| |
* | beautify P-EDF codeBjoern B. Brandenburg2007-05-10
| | | | | | | | - make local and remote cpu state and edf domain references explicit
* | simplify P-EDFBjoern B. Brandenburg2007-05-10
| | | | | | | | | | | | - use edf_higher_prio - use is_released macro - store scheduled task in per CPU state
* | Add explanation to edf_higher_prio.Bjoern B. Brandenburg2007-05-10
|/ | | | Comment the logic behind edf_higher_prio.
* FIFO semaphores and FIFO PI sems seem to be working, after a few smallJohn M. Calandrino2007-05-10
| | | | fixes.
* Added quick fix for FIFO semaphores. Other FIFO semaphores seem to beJohn M. Calandrino2007-05-10
| | | | operating correctly (or at least not crashing).
* First attempt at FIFO semaphores and PI sems. This may not work...John M. Calandrino2007-05-10
| | | | Before FIFO, everything seemed to be (finally) working ok.
* Another development update. Things seem to be working better now, but IJohn M. Calandrino2007-05-09
| | | | don't have FIFO ordering yet.
* Removed some comments. Things may indeed be working now.John M. Calandrino2007-05-09
|
* Fix to semaphores, so that things actually make sense...John M. Calandrino2007-05-09
|
* So far, this is what "works"...John M. Calandrino2007-05-09
|
* Removed some trace lines to improve readability.John M. Calandrino2007-05-09
|
* Development checkpoint. Still having issues.John M. Calandrino2007-05-09
|
* Various changes that I don't want to lose, but the code does not work.John M. Calandrino2007-05-09
|
* Some changes so that semaphores use correct wakeup functions.John M. Calandrino2007-05-03
|
* Changed printed kernel debug information slightly.John M. Calandrino2007-05-02
|
* Fixed a bug in SRP semaphores after changing to per-processor ceilings.John M. Calandrino2007-05-02
|
* Fixed SRP so that it uses per-processor priority ceilings.John M. Calandrino2007-05-02
|
* Fixed NULL pointer reference in gsnedf_inherit_priority.John M. Calandrino2007-05-02
|
* Fixing a case that arises during to priority inheritance (and maybe inJohn M. Calandrino2007-05-02
| | | | other cases too?) in link_task_to_cpu.
* Another handle_priority_change fix.John M. Calandrino2007-05-01
|
* Fixed some race conditions in the priority inheritance code, and fixed aJohn M. Calandrino2007-05-01
| | | | glitch or two in GSN-EDF.