aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
| * Force rescheduling if a task leaves a np section is not linked.Bjoern B. Brandenburg2007-04-18
| |
| * Allow EDF domains to have a NULL resched_check.Bjoern B. Brandenburg2007-04-18
| | | | | | | | This is a work around so that GSN-EDF can use the code, too.
| * 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
| |
| * A prelimenary, untested version of GSN-EDF.Bjoern B. Brandenburg2007-04-17
| |
| * Add a field to store where a real-time task is currently scheduled.Bjoern B. Brandenburg2007-04-17
| |
| * Small compilation fixBjoern B. Brandenburg2007-04-17
| |
| * Call curr_plugin->finish_switch() after every task switch.Bjoern B. Brandenburg2007-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. Brandenburg2007-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 sectionsBjoern B. Brandenburg2007-04-15
| |
| * copied global edf scheduler pluginBjoern B. Brandenburg2007-04-15
| | | | | | | | This will be the GSN-EDF scheduler.
| * Merge before pushing sched_trace updates.Bjoern B. Brandenburg2007-04-15
| |\ | | | | | | | | | Merge with git+ssh://cvs/cvs/proj/litmus/repo/litmus
| | * Misspelled macroHennadiy Leontyev2007-04-13
| | |
| | * (no commit message)Hennadiy Leontyev2007-04-12
| | |
| | * PFAIR scheduling addedHennadiy Leontyev2007-02-28
| | |
| * | Coding Style cleanup.Bjoern B. Brandenburg2007-04-12
| | |
| * | Make TRACING more robust in the early boot phase.Bjoern B. Brandenburg2007-04-12
| |/
* | Fixed priority inheritance issues with PI semaphores. Added regularJohn M. Calandrino2007-04-23
| | | | | | | | | | semaphores accessible through system calls, so that they can be used with the LSO (for partitioned FMLP).
* | Slight modification to semaphore initialization function, so that itJohn M. Calandrino2007-04-19
| | | | | | | | actually is called at boot.
* | Yet another small system-call-related change.John M. Calandrino2007-04-19
| |
* | Another small fix to system call sys_pi_sema_init, in order to eliminateJohn M. Calandrino2007-04-19
| | | | | | | | another pointer issue.
* | Made changes in Litmus so that user-space semaphores can work.John M. Calandrino2007-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 priorityJohn M. Calandrino2007-04-19
| | | | | | | | inheritance.
* | Added priority inheritance within semaphores - compiles but has not beenJohn M. Calandrino2007-04-18
| | | | | | | | tested.
* | Added stubs for modifying "semaphore" priority, in order to facilitateJohn M. Calandrino2007-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.
* | Added system call stubs for user-space semaphores with priorityJohn M. Calandrino2007-04-17
| | | | | | | | inheritance, for use in our synchronization implementation.
* | Increased size of blocking zone to something more conservative.John M. Calandrino2007-03-30
| |
* | Added necessary kernel support for zone-based locking.John M. Calandrino2007-03-29
| | | | | | | | | | | | | | | | Added two system calls, one to check if we are in the blocking zone, and one to wait until we exit the blocking zone. Both calls rely on some additional support from the local timer interrupt handler. Everything still needs to be tested with the zone-lock implemention in user space, especially under many different types of race conditions.
* | 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
| |
* | Small fix when resetting zone flags in local timer interrupt handler.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://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmusJohn M. Calandrino2007-02-22
|\
| * Merge with git+ssh://swan/playpen/bbb/litmusBjoern B. Brandenburg2007-02-22
| |\ | | | | | | | | | Pulled in the queue lock implementation.
| | * small fixesBjoern Brandenburg2007-02-21
| | | | | | | | | | | | | | | insert barrier() to be sure order is preserved by inline expansion don't depend on macro for initialization
| | * add _irqsave/_irqrestore macros to queuelock.hBjoern Brandenburg2007-02-20
| | |
| | * Mark spin variable as volatile.Bjoern Brandenburg2007-02-20
| | | | | | | | | | | | Force gcc to actually spin.
| | * Fix wrong initialization of queue lock.Bjoern Brandenburg2007-02-20
| | | | | | | | | | | | The first needs to be unlocked, not the last.
| | * Merge with git+ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmusBjoern Brandenburg2007-02-20
| | |\ | | | | | | | | | | | | Pulled in john's quantum alignment updates
| | * | Implement queue locks based on the primitives provided atomic.hBjoern Brandenburg2007-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This re-implements the queue locks for the new LITMUS version. Major differences to the previous implementation: 1) platform independent implementation - no manual assembly code in the queue lock implementation required 2) Recursive acquiring of the locks is not possible! None of the other Linux locking primitives allow it, so it is consistent and we weren't using it anyway as far as I know. 3) The number of "processes" in the implementation is fixed to NR_CPUS. Anything else doesn't really make sense in the kernel anyway.
| | * | 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().
| * | | use same variable as standard Linux for checking task stateBjoern B. Brandenburg2007-02-22
| | | |
| * | | 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.
* / | (no commit message)John M. Calandrino2007-02-22
|/ /
* | Fixed code according to Bjoern's suggestions.John M. Calandrino2007-02-19
| | | | | | | | | | | | | | | | | | Renamed function in timer.c, removed personal EXTRAVERSION from Makefile, changed some other small things. Aligned and staggered quanta are now working properly, Use quanta=staggered as a boot option to get staggered quanta, and no boot option (or quanta=aligned) to get aligned quanta. In most cases, quantum alignments are even more precise now than they were previously (less than 5 microseconds versus 10-20 microseconds).
* | Additional support for aligned and staggered quanta.John M. Calandrino2007-02-16
| | | | | | | | | | | | | | | | Provided a boot option that allows either aligned or staggered quanta to be chosen, and added a TRACE call that displays the offsets from the global timer tick at each CPU, in order to debug each type of quanta. Code related to periodic resynch is still commented out and will be debugged soon.
* | Local commit of current state of my attempt to log quantum sync info.John M. Calandrino2007-02-15
| | | | | | | | | | | | Tried to read the amount of time since the last global timer interrupt occurred and log that time on all processors using TRACE, but I think locks are causing me grief, because the system instead hangs.