aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* remove sem/mutex hacks needed for old klmirqdGlenn Elliott2013-01-10
|
* Merge branch 'wip-gpu-cleanup' into wip-2012.3-gpuGlenn Elliott2013-01-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: include/litmus/fpmath.h include/litmus/litmus.h include/litmus/rt_param.h include/litmus/trace.h kernel/sched.c kernel/softirq.c litmus/edf_common.c litmus/jobs.c litmus/litmus.c litmus/locking.c litmus/preempt.c litmus/sched_cedf.c litmus/sched_gsn_edf.c litmus/sched_litmus.c litmus/sync.c
| * 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
| | |/ | |/|
* | | Merge branch 'prop/misc-fixes' into wip-2012.3-gpuGlenn Elliott2013-01-10
|\ \ \
| * | | Reimplement plugin switching using stop_machine()Bjoern Brandenburg2013-01-10
| | | | | | | | | | | | | | | | | | | | | | | | stop_machine() does exactly what we want (avoid all concurrent scheduling activity) and much simpler than rolling our own (buggy) implementation.
| * | | Avoid race in do_release_ts()Bjoern Brandenburg2013-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The list is concurrently being modified by the waking processes. This requires the use of the list_for_each_safe() iterator. Reported by Glenn Elliott.
* | | | Extend non-rt support to sync-releases.Glenn Elliott2013-01-09
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | 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. Conflicts: litmus/sync.c
* | | Protect SCHED_LITMUS tasks from reschedules triggered by SCHED_FIFO enqueues.2012.3Jonathan Herman2012-12-21
| | | | | | | | | | | | (BB: edited to include <litmus/litmus.h> to resolve compile error.)
* | | Config: PREEMPT_STATE_TRACE depends on DEBUG_KERNEL.Christopher Kenna2012-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes CONFIG_PREEMPT_STATE_TRACE depend on CONFIG_DEBUG_KERNEL. Prior to this patch, selecting PREEMPT_STATE_TRACE resulted in linker errors (see below), because sched_state_name is not built unless DEBUG_KERNEL is selected. kernel/built-in.o: In function `schedule': (.sched.text+0x3d2): undefined reference to `sched_state_name'