aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Enable sched_trace log injection from userspacewip-gpu-cleanupGlenn Elliott2013-01-09
|
* Extend non-rt support to sync-releases.Glenn Elliott2013-01-08
| | | | | | Note that non-rt tasks are released immediately. That is, the 'delay' provided to the release_ts() system-call is ignored for non-rt tasks.
* Allow klmirqd threads to be given names.wip-klmirqd-to-auxGlenn Elliott2012-12-13
|
* Fix several klmirqd bugs.Glenn Elliott2012-12-13
| | | | | | | | | | 1) Deadlock in litmus_task_exit()-- added litmus_pre_task_exit() to be called without the Linux runqueue lock held. 2) Prioritization of base-prio klmirqd/aux threads vs. normal real-time tasks. 3) Initialization of gpu owner binheap node moved to *after* memset(0) of rt_params. 4) Exit path of klmirqd threads.
* test2Glenn Elliott2012-12-13
|
* blahGlenn Elliott2012-12-13
|
* Fix klmirqd plugin switching to not panic.Glenn Elliott2012-12-13
|
* Use num_online_gpus()Glenn Elliott2012-12-12
| | | | | | Note that num_online_gpus() merely reports the staticly configured maximum number of available GPUs. Will make dynamic in the future.
* Cluster assignment of nv klmirqd threads.Glenn Elliott2012-12-12
|
* make klmirqd work like aux tasks. checkpoint.Glenn Elliott2012-12-12
| | | | this code is untested!
* Rename klitirqd klmirqd.Glenn Elliott2012-12-09
|
* Specify aux thread granularity in jiffiesGlenn Elliott2012-12-09
|
* Send reboot notifications to LitmusGlenn Elliott2012-12-07
| | | | | | | | This patch causes reboot notifications to be send to Litmus. With this patch, Litmus attempts to switch back to the Linux-plugin before the reboot proceeds. Any failures to switch back are reported via printk() (the reboot is not halted).
* AUX_FUTURE and revised inh-based aux tie breakGlenn Elliott2012-12-06
|
* Fix compilation warnings.Glenn Elliott2012-11-30
|
* More improvements on affinity heuristicsGlenn Elliott2012-11-30
|
* Merge branch 'wip-aux-hacks' into wip-load-balance-gpusGlenn Elliott2012-11-11
|\
| * boost aux tasks unconditionallyGlenn Elliott2012-11-11
| |
* | improve ikglp heuristicsGlenn Elliott2012-11-11
|/
* Description of refined aux task inheritance.Glenn Elliott2012-09-17
|
* Fixed three bugs with aux threads and nested locksGlenn Elliott2012-09-17
| | | | | | | | | | | | | | Fixes two bugs with nested locks: 1) List of aux threads could become corrupted. -- moved modifications to be within scheduler lock. 2) Fixed bad EDF comparison ordering that could lead to schedule thrashing in an infinite loop. 3) Prevent aux threads from inheriting a priority from a task that is blocked on a real-time litmus lock. (since the aux threads can't possibly hold these locks, we don't have to worry about inheritance.)
* Merge branch 'prop/sched_fork' into wip-gpu-rtas12Glenn Elliott2012-09-17
|\ | | | | | | | | Conflicts: kernel/sched.c
| * Do processor state transitions in schedule_tail().Glenn Elliott2012-09-17
| | | | | | | | | | | | | | | | | | Fixes a bug in Litmus where processor scheduling states could become corrupted. Corruption can occur when a just-forked thread is externally forced to be scheduled by SCHED_LITMUS before this just-forked thread can complete post-fork processing. Specifically, before schedule_tail() has completed.
* | Add support for CUDA 5.0 (release candidate)Glenn Elliott2012-09-16
| |
* | C-EDF support for auxillary tasks.Glenn Elliott2012-09-16
| | | | | | | | Extended auxillary task support to C-EDF. Modeld after G-EDF.
* | Added CONFIG_REALTIME_AUX_TASKS optionGlenn Elliott2012-09-16
| | | | | | | | | | | | Auxillary task features were enabled by CONFIG_LITMUS_LOCKING. Made auxillary tasks a seperate feature that depends upon CONFIG_LITMUS_LOCKING.
* | Implement real-time aux threads. G-EDF only.Glenn Elliott2012-09-16
| |
* | checkpoint for aux_tasks. can still deadlockGlenn Elliott2012-09-14
| |
* | Merge branch 'wip-gpu-rtas12' into wip-slave-threadsGlenn Elliott2012-09-11
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: include/litmus/unistd_32.h include/litmus/unistd_64.h litmus/litmus.c
| * | changed gpu filtering to 1.5 stdev.Glenn Elliott2012-09-11
| | |
| * | Fix hang from bug in edf_common.cGlenn Elliott2012-09-11
| | |
| * | Merge remote-tracking branch 'github/prop/litmus-signals' into wip-gpu-rtas12Glenn Elliott2012-09-10
| |\ \ | | | | | | | | | | | | | | | | Conflicts: litmus/sched_gsn_edf.c
| | * | Infrastructure for Litmus signals.prop/litmus-signalsGlenn Elliott2012-09-07
| | |/ | | | | | | | | | | | | | | | | | | | | | Added signals to Litmus. Specifcally, SIG_BUDGET signals are delivered (when requested by real-time tasks) when a budget is exceeded. Note: pfair not currently supported (but it probably could be).
| * | Merge branch 'prop/robust-tie-break' into wip-gpu-rtas12Glenn Elliott2012-09-10
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: include/litmus/binheap.h include/litmus/fdso.h include/litmus/litmus.h litmus/Makefile litmus/binheap.c litmus/edf_common.c litmus/fdso.c litmus/jobs.c litmus/locking.c
| | * | Fixed type-os and clarified text in litmus/KconfigGlenn Elliott2012-09-08
| | | |
| | * | EDF priority tie-breaks.wip-robust-tie-breakGlenn Elliott2012-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of tie-breaking by PID (which is a static priority tie-break), we can tie-break by other job-level-unique parameters. This is desirable because tasks are equaly affected by tardiness since static priority tie-breaks cause tasks with greater PID values to experience the most tardiness. There are four tie-break methods: 1) Lateness. If two jobs, J_{1,i} and J_{2,j} of tasks T_1 and T_2, respectively, have equal deadlines, we favor the job of the task that had the worst lateness for jobs J_{1,i-1} and J_{2,j-1}. Note: Unlike tardiness, lateness may be less than zero. This occurs when a job finishes before its deadline. 2) Normalized Lateness. The same as #1, except lateness is first normalized by each task's relative deadline. This prevents tasks with short relative deadlines and small execution requirements from always losing tie-breaks. 3) Hash. The job tuple (PID, Job#) is used to generate a hash. Hash values are then compared. A job has ~50% chance of winning a tie-break with respect to another job. Note: Emperical testing shows that some jobs can have +/- ~1.5% advantage in tie-breaks. Linux's built-in hash function is not totally a uniform hash. 4) PIDs. PID-based tie-break used in prior versions of Litmus. Conflicts: litmus/edf_common.c
| | * | Improve readability of EDF comparisons.Glenn Elliott2012-08-20
| | |/ | | | | | | | | | | | | | | | Restructured the EDF task comparison code to improve readability. Recoded chained logical expression embedded in return statement into a series of if/else blocks.
| * | standard devation-based gpu affinity predictorGlenn Elliott2012-09-10
| | |
| * | simple average trackingGlenn Elliott2012-09-09
| | |
| * | enable migration tracing and short-cut interruptsGlenn Elliott2012-08-31
| | |
| * | GPUSync patch for Litmus 2012.1.Glenn Elliott2012-05-26
| | |
* | | blargGlenn Elliott2012-09-11
| |/ |/|
* | New Feature: Arbitrary deadlines.2012.2Glenn Elliott2012-08-01
| | | | | | | | | | | | | | | | | | | | | | | | Added support for arbitrary deadlines. Constraint: Relative deadline must be >= exec cost. Use: Set relative deadline in rt_task::rdeadline. Set value to 0 to default to implicit deadlines. Limitations: PFAIR not supported by this patch. PFAIR updated to reject tasks that do not have implicit deadlines.
* | control page: avoid "minor" page faultsBjoern Brandenburg2012-07-23
| | | | | | | | | | | | | | | | | | By default, even private writable pages are mapped with the RW bit disabled in the PTE. This causes a "minor" page fault when the page is first written to. To avoid this, make sure that vm_inert_page() uses the proper page protection bits and mark the VMA as VM_IO to keep the rest of the VM code out.
* | control page: warn on page faultBjoern Brandenburg2012-07-23
| | | | | | | | | | Page faults should not happen here. Scream if they do anyway. This is useful when extending the control page.
* | control page: use vm_insert_page() instead of remap_pfn_range()Bjoern Brandenburg2012-07-23
| | | | | | | | | | | | vm_insert_page() is the simpler and preferred interface for remapping individual pages and includes additional error checks. It suffices for our purposes, so let's use it instead.
* | P-FP: reject tasks with invalid prioritiesBjoern Brandenburg2012-07-23
| | | | | | | | | | | | The existing admission test failed to test for too-low priorities. Use the common macro to accept only valid priorities.
* | P-FP: Clarify meaning of prioritiesBjoern Brandenburg2012-07-23
| | | | | | | | | | | | Add a comment to explain how priorities are interpreted, and provide some useful macros for userspace.
* | P-FP: fix build bug if !CONFIG_RELEASE_MASTERBjoern Brandenburg2012-07-23
| | | | | | | | | | Move declaration of 'cpu' out of #ifdef block, it's also needed for CONFIG_LITMUS_LOCKING.
* | P-FP: make PCP available to userspaceSven Dziadek2012-07-23
| | | | | | | | Prior to that it was only used internally for DPCP