Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Let PI semaphores inherit only inside a partition. | Bjoern B. Brandenburg | 2007-05-17 |
| | | | | | - Track hp.cpu_task per partition - inherit priority only from local tasks | ||
* | Prepare struct pi_semaphore for per-CPU PI protocol as required by FMLP. | Bjoern B. Brandenburg | 2007-05-17 |
| | |||
* | Add timestamps to semaphore functions | Bjoern B. Brandenburg | 2007-05-17 |
| | |||
* | Make the inclusion of sched_trace_XXX() and TRACE() a configurable option. | Bjoern B. Brandenburg | 2007-05-17 |
| | | | | This allows us to remove the debugging code from benchmarking kernels. | ||
* | Insert trigger for enter_np()/exit_np() tracing. | Bjoern B. Brandenburg | 2007-05-16 |
| | |||
* | Make sched_trace conditional. | Bjoern B. Brandenburg | 2007-05-16 |
| | | | | TODO: Make it a .config option. | ||
* | Place trigger for scheduling overhead benchmark. | Bjoern B. Brandenburg | 2007-05-16 |
| | |||
* | Add time stamps for schedule(), the timer interrupt, and the plugin | Bjoern B. Brandenburg | 2007-05-16 |
| | | | | scheduler_tick() and schedule() callbacks. | ||
* | Change feather-trace device to support enabling and disabling of events. | Bjoern B. Brandenburg | 2007-05-16 |
| | |||
* | Merged Feather-Trace. | Bjoern B. Brandenburg | 2007-05-15 |
| | |||
* | Activate ceiling blocking and fix a stupid list corruption bug. | Bjoern B. Brandenburg | 2007-05-15 |
| | |||
* | First part of the PI semaphore implementation. | Bjoern B. Brandenburg | 2007-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. Brandenburg | 2007-05-14 |
| | | | | | Finding the highest-priority task in a pi_semaphore is same in all EDF-based plugins. | ||
* | Reimplemented LITMUS standard FIFO semaphores + misc fixes | Bjoern B. Brandenburg | 2007-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. | ||
* | Add macros for convenient task tracing. | Bjoern B. Brandenburg | 2007-05-13 |
| | |||
* | Pay attention to (preempt_count() & PREEMPT_ACTIVE) hack. | Bjoern B. Brandenburg | 2007-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. Brandenburg | 2007-05-13 |
| | |||
* | Add PSN-EDF. | Bjoern B. Brandenburg | 2007-05-10 |
| | |||
* | Break out __release_pending() from try_release_pending() | Bjoern B. Brandenburg | 2007-05-10 |
| | |||
* | Make in_list() function available to all plugins. | Bjoern B. Brandenburg | 2007-05-10 |
| | |||
* | Various changes that I don't want to lose, but the code does not work. | John M. Calandrino | 2007-05-09 |
| | |||
* | Some changes so that semaphores use correct wakeup functions. | John M. Calandrino | 2007-05-03 |
| | |||
* | Fixed handling of changes in task priorities due to PI in GSN-EDF. | John M. Calandrino | 2007-04-25 |
| | |||
* | Removed incomplete zone-based implementation. | John M. Calandrino | 2007-04-25 |
| | |||
* | Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus | John M. Calandrino | 2007-04-25 |
|\ | |||
| * | Fixed GSN-EDF job_arrival() function. | Bjoern B. Brandenburg | 2007-04-25 |
| | | | | | | | | | | | | | | | | | | Now the correct job is linked in case that a linked job lowers its priority. This could happen if a tardy job's successor is immediately released in the scheduler_tick() function. The preemption_needed() function was made more robust to handle NULL pointers correctly (needed for GSN-EDF). | ||
* | | Fixed a few comment inconsistencies. Added stubs for an SRP "semaphore", | John M. Calandrino | 2007-04-25 |
| | | | | | | | | | | which needs to be expanded in the LSO and by adding system call numbers in kernel space. | ||
* | | Fixed GSN-EDF to handle correct wakeup of tasks that just exited a | John M. Calandrino | 2007-04-24 |
| | | | | | | | | semaphore. | ||
* | | Fixed a number of issues, subtle and otherwise, with PI semaphores. | John M. Calandrino | 2007-04-24 |
| | | | | | | | | | | | | | | | | | | | | PI semaphores now use scheduler callbacks to update priority on a down or up call. Issues with calling down/up and not calling __down_failed or __up_wakeup for PI semaphores has been noted (since priority-related things occured in those calls) and up has been fixed (down is in process). Callbacks are now responsible for the priority checks and updates, and some subtle cases are handled that were missed before. Still need to finish handling GSN-EDF implementation issues related to suspensions. | ||
* | | Reverted back to spinlocks, added code to higher priority code in | John M. Calandrino | 2007-04-23 |
| | | | | | | | | edf-common.c, left other stubs untouched until tomorrow. | ||
* | | Updated priority check for EDF. Converting spinlocks to queuelocks, not yet | John M. Calandrino | 2007-04-23 |
| | | | | | | | | complete. | ||
* | | Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus | John M. Calandrino | 2007-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. Brandenburg | 2007-04-23 |
| | | |||
| * | break deadlines in EDF schemes by PID | Bjoern B. Brandenburg | 2007-04-23 |
| | | | | | | | | | | | | Adds the new priority comparison function edf_higher_prio(). By the use of PIDs priorities are now unique. The edf_common.c code uses the new function. Does not handle priority inheritance yet. | ||
| * | Add boot option and ID for GSN-EDF. | Bjoern B. Brandenburg | 2007-04-17 |
| | | |||
| * | Add enter_np/exit_np callbacks for non-preemptable sections support | Bjoern B. Brandenburg | 2007-04-17 |
| | | |||
| * | Add a field to store where a real-time task is currently scheduled. | Bjoern B. Brandenburg | 2007-04-17 |
| | | |||
| * | Call curr_plugin->finish_switch() after every task switch. | Bjoern B. Brandenburg | 2007-04-17 |
| | | | | | | | | | | GSN-EDF needs to be called after every task switch. This patch changes the existing plugins to handle the changed behavior. | ||
| * | Add unlocked functions to common EDF code. | Bjoern B. Brandenburg | 2007-04-17 |
| | | | | | | | | | | Allow access to the release and ready queues for GSN-EDF. GSN-EDF doesn't use the locks embedded in the domain. | ||
| * | added flag for non-preemptable sections | Bjoern B. Brandenburg | 2007-04-15 |
| | | |||
| * | Merge before pushing sched_trace updates. | Bjoern B. Brandenburg | 2007-04-15 |
| |\ | | | | | | | | | | Merge with git+ssh://cvs/cvs/proj/litmus/repo/litmus | ||
| | * | Misspelled macro | Hennadiy Leontyev | 2007-04-13 |
| | | | |||
| | * | (no commit message) | Hennadiy Leontyev | 2007-04-12 |
| | | | |||
| | * | PFAIR scheduling added | Hennadiy Leontyev | 2007-02-28 |
| | | | |||
| * | | Make TRACING more robust in the early boot phase. | Bjoern B. Brandenburg | 2007-04-12 |
| |/ | |||
* | | Fixed priority inheritance issues with PI semaphores. Added regular | John M. Calandrino | 2007-04-23 |
| | | | | | | | | | | semaphores accessible through system calls, so that they can be used with the LSO (for partitioned FMLP). | ||
* | | Made changes in Litmus so that user-space semaphores can work. | John M. Calandrino | 2007-04-19 |
| | | | | | | | | | | | | | | | | A user now makes a system call where a semaphore ID is specified, and the semaphore implementation is hidden away in the kernel. There are a finite number of semaphores and the kernel system call will return an error if it cannot claim one, however user space code in libso does not yet acknowledge this. | ||
* | | Added a way for tasks to see what their current priority is due to priority | John M. Calandrino | 2007-04-19 |
| | | | | | | | | inheritance. | ||
* | | Added stubs for modifying "semaphore" priority, in order to facilitate | John M. Calandrino | 2007-04-18 |
| | | | | | | | | | | | | | | priority inheritance. Also fixed a few bugs. Many files were modified, as the PI semaphores were are implementing replicate much of the original Linux semaphore implementation with minor changes, often causing a cascade of changes as functions were chased down and changed in several files. | ||
* | | Increased size of blocking zone to something more conservative. | John M. Calandrino | 2007-03-30 |
| | |