aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
Commit message (Collapse)AuthorAge
* Final GPUSync implementation.wip-gpu-rtss12Glenn Elliott2012-05-14
|
* fix minor bugs. there is still a bug in GEDF PAI.Glenn Elliott2012-04-27
|
* Port rtss12 features to C-EDF (untested)Glenn Elliott2012-04-25
|
* Tested/Fixed IKGLP heurs. OS WORK FINALLY DONE!Glenn Elliott2012-04-23
|
* Donor dequeue heuristic for IKGLP. Untested.Glenn Elliott2012-04-20
|
* Untested donee selection heuristic for IKGLP.Glenn Elliott2012-04-20
|
* Added hooks for IKGLP affinity and a little logic.Glenn Elliott2012-04-18
| | | | | | | | | | | | simple IKGLP is already done. it does: 1) auto gpu de/registration. 2) distruption amongst simultanous users across queues 3) calls default IKGLP routines when appropriate. Remaining work: 1) FQ advisement. 2) Donor stealing advisement. 3) Donee selection advisement.
* Zap line-endingsGlenn Elliott2012-04-18
|
* Added support for simult-users in kfmlpGlenn Elliott2012-04-18
|
* Fixed and tested aff-aware KFMLP. (finally!)Glenn Elliott2012-04-18
|
* Implement GPU-affinity-aware kfmlp (untested)Glenn Elliott2012-04-16
|
* Infrastructure for affinity-aware k-exclusionGlenn Elliott2012-04-15
|
* Update PAI to support multiGPUs (todo: klitirqd)Glenn Elliott2012-04-15
|
* remove fifo/rm header files left overGlenn Elliott2012-04-15
|
* add kfmlp as separate fileGlenn Elliott2012-04-15
|
* Merge branch 'wip-gpu-interrupts' into wip-gpu-rtss12Glenn Elliott2012-04-15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: include/litmus/fdso.h include/litmus/rt_param.h include/litmus/sched_plugin.h include/litmus/unistd_32.h include/litmus/unistd_64.h litmus/Makefile litmus/edf_common.c litmus/litmus.c litmus/locking.c litmus/sched_gsn_edf.c litmus/sched_plugin.c
| * Merge branch 'wip-pai' into wip-gpu-interruptsGlenn Elliott2012-03-04
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: include/litmus/affinity.h kernel/sched.c kernel/softirq.c litmus/Kconfig litmus/affinity.c litmus/litmus.c litmus/preempt.c litmus/sched_cedf.c litmus/sched_gsn_edf.c
| | * Fix bugs in tracing and PAI handlingGlenn Elliott2012-01-20
| | |
| | * Completed PAI for C-EDF.Glenn Elliott2012-01-14
| | |
| | * PAI implementation, C-RM, C-FIFO.Glenn Elliott2012-01-11
| | |
| | * Full patch for klitirqd with Nvidia GPU support.Glenn Elliott2011-06-02
| | |
* | | Move RSM and IKGLP imp. to own .c fileswip-ikglpGlenn Elliott2012-04-13
| | | | | | | | | | | | | | | Also reformated code to be slightly more standard coding practice compliant.
* | | Added support for Dynamic Group Locks (DGLs)Glenn Elliott2012-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added support for Dynamic Group Locks. Locks are FIFO ordered (no timestamps), so a big DGL lock is needed to enqueue for resources atomically. Unfortunatly, this requires nested inheritance to use coarse-grain locking. Coarse-grain locking is used when DGLs are enabled. Fine-grain locking is used when DGLs are disabled. TODO: Clean up IKGLP implementatio. There is a lot of needless debug/TRACE work.
* | | Fix IKGLP bugs discovered in test.Glenn Elliott2012-04-09
| | | | | | | | | | | | | | | Apply fixes to the IKGLP. Also, break binheap.h into binheap.h/.c
* | | Untested implementation of IKGLP.Glenn Elliott2012-04-04
| | | | | | | | | | | | | | | I don't like coding so much w/o testing, but it's sort of hard to do without both lock() and unlock().
* | | Infrastructure of IKGLP. lock/unlock are stubsGlenn Elliott2012-03-31
| | |
* | | Nested inheritance with fine-grained locking.Glenn Elliott2012-03-30
| | | | | | | | | | | | | | | | | | Minor hack to lockdep was required too allow the inheritance propagation locking logic to work.
* | | Merge branch 'wip-binary-heap' into wip-nested-locksGlenn Elliott2012-03-23
|\ \ \
| * | | Simplify binheap_delete and add binheap_decreaseGlenn Elliott2012-03-21
| | | |
| * | | GSN-EDF: Use binary heap instead of binomial heap.Glenn Elliott2012-03-21
| | | | | | | | | | | | | | | | Use binary heap to track CPU priorities.
| * | | Binary heap implementationGlenn Elliott2012-03-21
| |/ / | | | | | | | | | | | | | | | | | | Motivation: Linux's prio_heap.h is of fixed size. Litmus's binomial heap may be overkill (and perhaps not general enough) for some applications. Implemented in the style of linked lists.
* | | blahGlenn Elliott2012-03-23
| | |
* | | Introduction of basic nesting foundations.Glenn Elliott2012-03-22
|/ /
* | Typo in macroJonathan Herman2012-02-16
| |
* | Feather-Trace: keep track of interrupt-related interference.2012.1Bjoern B. Brandenburg2012-01-30
| | | | | | | | | | | | | | Increment a processor-local counter whenever an interrupt is handled. This allows Feather-Trace to include a (truncated) counter and a flag to report interference from interrupts. This could be used to filter samples that were disturbed by interrupts.
* | Litmus core: simplify np-section protocolwip-2011.2-bbbBjoern B. Brandenburg2011-11-24
| | | | | | | | | | | | User a 32-bit word for all non-preemptive section flags. Set the "please yield soon" flag atomically when accessing it on remotely-scheduled tasks.
* | ftdev: let bufffer-specific code handle writes from userspaceBjoern B. Brandenburg2011-11-24
| | | | | | | | | | This allows us to splice in information into logs from events that were recorded in userspace.
* | Feather-Trace: keep track of release latencyBjoern B. Brandenburg2011-11-24
| |
* | Feather-Trace: trace locking-related suspensionsBjoern B. Brandenburg2011-11-24
| |
* | Add option to turn off preemption state tracingBjoern B. Brandenburg2011-11-24
| | | | | | | | | | | | Preemption state tracing is only useful when debugging preemption- and IPI-related races. Since it creates a lot of clutter in the logs, this patch turns it off unless explicitly requested.
* | C-EDF: Make migration affinity work with Release MasterGlenn Elliott2011-08-27
| | | | | | | | | | | | | | | | | | | | Needed to update C-EDF to handle release master. Also updated get_nearest_available_cpu() to take NO_CPU instead of -1 to indicate that there is no release master. While NO_CPU is 0xffffffff (-1 in two's complement), we still translate this value to -1 in case NO_CPU changes. Signed-off-by: Andrea Bastoni <bastoni@cs.unc.edu>
* | COMMENT: Correct comment on precise budget enforcementGlenn Elliott2011-08-27
| | | | | | | | | | Original comment said that this feature wasn't supported, though it has been since around October 2010.
* | Avoid needlessly costly migrations. CONFIG_SCHED_CPU_AFFINITYGlenn Elliott2011-08-27
|/ | | | | | | | | | | | | Given a choice between several available CPUs (unlinked) on which to schedule a task, let the scheduler select the CPU closest to where that task was previously scheduled. Hopefully, this will reduce cache migration penalties. Notes: SCHED_CPU_AFFINITY is dependent upon x86 (only x86 is supported at this time). Also PFair/PD^2 does not make use of this feature. Signed-off-by: Andrea Bastoni <bastoni@cs.unc.edu>
* Improve FMLP queue management.wip-fmlp-dequeueGlenn Elliott2011-03-31
| | | | | | | | | | The next owner of a FMLP-protected resource is dequeued from the FMLP FIFO queue by unlock() (when the resource is freed by the previous owner) instead of performing the dequeue by the next owner immediately after it has been woken up. This simplifies the code a little bit and also reduces potential spinlock contention.
* Litmus core: add generic clustering supportBjoern B. Brandenburg2011-02-01
| | | | | Inspired by the existing C-EDF code, this generic version will build clusters of CPUs based on a given cache level.
* Litmus core: extract userspace interface from C-EDFBjoern B. Brandenburg2011-02-01
| | | | | Make the cluster size configuration in C-EDF generic so that it can be used by other clustered schedulers.
* Feather-Trace: rename locking trace pointsBjoern B. Brandenburg2011-02-01
| | | | | Since we don't expect to trace more than one lock type at a time, having protocol-specific trace points is not required.
* fdso: pass userpsace config argument to object constructorBjoern B. Brandenburg2011-02-01
| | | | | | | | | | | | As Glenn pointed out, it is useful for some protocols (e.g., k-exclusion protocols) to know the userspace configuration at object creation time. This patch changes the fdso API to pass the parameter to the object constructor, which is then in turn passed to the lock allocater. The return code from the lock allocater is passed to userspace in return. This also fixes some null pointer dereferences in the FDSO code found by the test suite in liblitmus.
* PSN-EDF: re-implement FMLP supportBjoern B. Brandenburg2011-02-01
| | | | | Implement the partitioned FMLP with priority boosting based on the generic lock API.
* EDF: support priority boostingBjoern B. Brandenburg2011-02-01
| | | | While we are at it, simplify edf_higher_prio() a bit.