aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* Fixed a timer bug and implemented finish switch.Jonathan Herman2011-10-09
| | | | | | | | | The logic for cancelling a remote timer allowed timers to be enqueued twice in the pull list. A method hrtimer_pull_cancel() was added to hrtimer.c to cancel the timers properly. Finish-switch was added to fix a stack bug. This required a change to the global_preempt check in update_crit_levels
* Fixed bug with CE higher priorityJonathan Herman2011-10-09
|
* Renamed list variables for clarity in event_listJonathan Herman2011-10-08
|
* Allow scheduler to 'logically' remove crit_entry's from level-C heap.Jonathan Herman2011-10-08
| | | | | This required fixes to hrtimer_start_on code so that events can be cancelled or re-armed while an hrtimer pull is in progress.
* Fixed timer issue and atomic remove issue in level A domain.Jonathan Herman2011-10-08
| | | | | | | | | | | Timers had an issue where they couldn't be cancelled before they migrated. Now when you set the start_on_info to inactive, it will prevent a timer from being armed. When a task is being blocked and preempted concurrently, the blocking code needs to be able to prevent the task from being scheduled on another CPU. This did not work for CE domains. Added a per-domain remove function which, for ce domains, will prevent a task from being returned by the domain.
* Newline consistency...Jonathan Herman2011-10-07
|
* Fixed global task deadlockJonathan Herman2011-10-07
|
* more bugfixesChristopher Kenna2011-10-07
|
* debuggingChristopher Kenna2011-10-07
|
* Bug fix for cancel eventsJonathan Herman2011-09-30
|
* Debug commit.Christopher Kenna2011-09-30
| | | | | | | Some things are working, but the kernel panics when you try and deallocate an event group. Committed so Jonathan can look at it.
* Merge branch 'wip-mc' of ↵Jonathan Herman2011-09-30
|\ | | | | | | ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus2010 into wip-mc
| * Refactor timer merging and add it to CE plugin.Christopher Kenna2011-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | THIS CODE IS UNTESTED We now initialize one event group for each cpu on system start. We can get the event group for a CPU via a function in event_group.c Another change is that an event now stores what group it is in when it add_event() is called on it. This lets us cancel it without knowing what event group it is in. The above is important because Level-C events (like releases) have a NULL event group. When calling add_event(), it will get the event group of the current CPU. If the event needs to be canceled later, we need that saved group in the event so we know where to remove it from.
* | Added display of number of timers mergedJonathan Herman2011-09-28
|/
* Merged with ce domainsJonathan Herman2011-09-27
|\
| * Debugged ghosts in the MC scheduler for CE tasks.Christopher Kenna2011-09-27
| |
| * Checkpoint commit. Testing begins.Christopher Kenna2011-09-26
| |
| * checkpoint before refactorChristopher Kenna2011-09-26
| |
| * Untested merge of CE and MC pluginsChristopher Kenna2011-09-25
| |
* | Timer mergingJonathan Herman2011-09-27
|/
* Fix compilation errors for event list.Christopher Kenna2011-09-25
|
* Check point commit for merging CE with MC plugin.Christopher Kenna2011-09-24
| | | | | Also started to fix typos in Jonathan's code, but there were too many after I realized that event_group.o was not in the LITMUS Makefile.
* Checkpoint commit,initial timer merge designJonathan Herman2011-09-24
|
* Cleaned up log messagesJonathan Herman2011-09-23
|
* Completed work redistribution featureJonathan Herman2011-09-23
|
* transferring machinesJonathan Herman2011-09-23
|
* Checkpoint commit for work redistributionJonathan Herman2011-09-23
|
* Merge branch 'wip-mc' of ↵Jonathan Herman2011-09-22
|\ | | | | | | ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus2010 into wip-mc
| * Change the way jobs are tracked in the CE.Christopher Kenna2011-09-22
| | | | | | | | | | | | | | | | | | The new code tracks CE jobs so that we can detect if a CE task falls behind due to jobs overrunning their budgets. There are also various bug fixes related to timers. We may not want to arm timers until the task release, as well.
* | Checkpoint commit for work redistributionJonathan Herman2011-09-22
|/
* FormattingJonathan Herman2011-09-21
|
* Merge branch 'wip-mc' of ↵Jonathan Herman2011-09-21
|\ | | | | | | ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus2010 into wip-mc
| * Passes simple tests.Christopher Kenna2011-09-21
| |
* | Now with fine grained lockingJonathan Herman2011-09-21
|/
* Merge branch 'wip-mc' of ↵Jonathan Herman2011-09-08
|\ | | | | | | ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus2010 into wip-mc
| * Better procfs error handling and plugin activation locking.Christopher Kenna2011-09-08
| |
| * Untested proc code added.Christopher Kenna2011-09-08
| |
* | Removed outdated logic from wake_up methodJonathan Herman2011-09-08
|/
* FormattingJonathan Herman2011-09-07
|
* Merge branch 'wip-mc' of ↵Jonathan Herman2011-09-07
|\ | | | | | | ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/litmus2010 into wip-mc
| * CE bugfixes I noticed without testingChristopher Kenna2011-09-05
| |
| * Partial cyclic executive plugin.Christopher Kenna2011-09-05
| | | | | | | | | | This is not tested and missing everything for /proc. I just am checking it in so that it the code is backed up in a git repository.
* | Refactor to allow generic domainsJonathan Herman2011-09-07
|/
* missed filesJonathan Herman2011-08-29
|
* created generic domain interface for tasksJonathan Herman2011-08-29
|
* modifications for easier debuggingJonathan Herman2011-08-29
|
* removed domain_of, domain already stored in tasksJonathan Herman2011-08-27
|
* bug fix, formattingJonathan Herman2011-08-27
|
* merge new struct refactorJonathan Herman2011-08-27
|\
| * Refactor the mixed-criticality (MC) plugin.Christopher Kenna2011-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add linux kernel configuration option CONFIG_LITMUS_MC. Attempt to restore rt_param.h to its original state as much as possible. Remove fields from rt_task and rt_job and move them into a new mc_data struct. Added mc_data field to rt_param compiled in only if using MC plugin. Make a new MC plugin specific header that contains a mc_data struct, which is a container for mc_task struct and a mc_job struct. Update sched_mc.c to use the new data structures. Also, add some macros that simplify the code, e.g., getting task criticality quickly. Add system call to set MC plugin specific stuff. Check for the change in liblitmus. Add a few lines to exit_litmus to reclaim the MC plugin mc_data struct in the task_struct on task exit.