aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
Commit message (Collapse)AuthorAge
* 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.
* 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.
* Make the inclusion of sched_trace_XXX() and TRACE() a configurable option.Bjoern B. Brandenburg2007-05-17
| | | | This allows us to remove the debugging code from benchmarking kernels.
* Add time stamps for schedule(), the timer interrupt, and the pluginBjoern B. Brandenburg2007-05-16
| | | | scheduler_tick() and schedule() callbacks.
* 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
|
* Kick out commented ASM code.Bjoern B. Brandenburg2007-05-13
|
* 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.
* 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.
* 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
|
* 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 some race conditions in the priority inheritance code, and fixed aJohn M. Calandrino2007-05-01
| | | | glitch or two in GSN-EDF.
* Made changes to protect empty queues from being traversed inJohn M. Calandrino2007-04-26
| | | | semaphore-related calls.
* Commented out timing measurement code after determining that things areJohn M. Calandrino2007-04-26
| | | | working okay.
* Added some quantum alignment measurement capabilities, so that alignmentsJohn M. Calandrino2007-04-26
| | | | could be re-validated after some changes.
* Changed task registration in SRP semaphores so that a pid is used ratherJohn M. Calandrino2007-04-26
| | | | | | than a pointer to a task_struct. This eliminates the need to define the task_struct struct in user space, and also makes the system call cleaner. Required lookup of the task in the new system call.
* Added kernel SRP "semaphore" support, to be included in PSN-EDF, and fixedJohn M. Calandrino2007-04-25
| | | | a small bug in semaphore free methods for all user-level semaphores.
* Fixed some things so that it builds correctly.John M. Calandrino2007-04-25
|
* Removed incomplete zone-based implementation.John M. Calandrino2007-04-25
|
* Added function prototypes for SRP system calls in unistd.h and syscall_table.S.John M. Calandrino2007-04-25
|
* Fixed a few comment inconsistencies. Added stubs for an SRP "semaphore",John M. Calandrino2007-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 aJohn M. Calandrino2007-04-24
| | | | semaphore.
* Compiles. Woo! TODO: Fix GSN-EDF so it is suspension-friendly.John M. Calandrino2007-04-24
|
* Fixed the PI issue with down calls, should work now.John M. Calandrino2007-04-24
|
* Fixed a number of issues, subtle and otherwise, with PI semaphores.John M. Calandrino2007-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 inJohn M. Calandrino2007-04-23
| | | | edf-common.c, left other stubs untouched until tomorrow.
* Converting spinlocks to queuelocks in my code, and also fixing stubs... inJohn M. Calandrino2007-04-23
| | | | process...
* 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 system calls sys_enter_np() and sys_exit_np()Bjoern B. Brandenburg2007-04-17
| |
* | 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.
* | 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 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.
* | 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.
* | Committing some initial changes to implement system calls related toJohn M. Calandrino2007-03-27
|/ | | | zone-based locking.
* (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.