aboutsummaryrefslogtreecommitdiffstats
path: root/litmus
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.)
* 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: 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
* | P-FP: port P-FP plugin used in B. Brandenburg'sSven Dziadek2012-07-23
| | | | | | | | | | | | | | | | | | | | dissertation (branch bbb-diss) to current version of litmus This is needed for ongoing projects I took the unchanged code but removed some leftovers of OMLP which is not implemented
* | C-EDF: do not requeue jobs without budgetBjoern Brandenburg2012-05-31
| | | | | | | | | | | | This patch replicates the fix in commit f141d730e91283a9bb5cfcb134fcead55d5da0c6 (which applies to GSN-EDF).
* | GSN-EDF: do not requeue jobs without budgetBjoern Brandenburg2012-05-31
| | | | | | | | | | | | | | | | | | | | This patch changes how preemptions of jobs without budget work. Instead of requeuing them, they are now only added if they are not subject to budget enforcement or if they have non-zero budget. This allows us to process job completions that race with preemptions. This appears to fix a BUG in budget.c:65 reported by Giovani Gracioli.