aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Try and debug the queue.wip-mcChristopher Kenna2012-10-19
|
* Merge remote-tracking branch 'litmus-rt/wip-mc' into litmus-rt-wip-mcChristopher Kenna2012-10-19
|\
| * Fixed another job completion bug.Jonathan Herman2012-10-19
| |
* | Everything is hooked up. This is not tested.Christopher Kenna2012-10-18
| | | | | | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* | Add debugging to Color Queue and fix a bug in color_info_free.Christopher Kenna2012-10-18
| | | | | | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* | Turn color_ctrl_page into a system call.Christopher Kenna2012-10-18
|/ | | | | | | | Conflicts: include/litmus/color.h Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Fixed bug with job completions.Jonathan Herman2012-10-18
|
* Fix minor spelling error.Christopher Kenna2012-10-18
| | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* A queue for reading in pages.Christopher Kenna2012-10-18
| | | | | | This is not tested and probably won't work. Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Move server.h include inside of the __KERNEL__ ifdef.Christopher Kenna2012-10-18
|
* Added way tracker.Jonathan Herman2012-10-18
|
* Rewrote dgl for preemptive cache scheduling.Jonathan Herman2012-10-18
|
* ARM: 7447/1: rwlocks: remove unused branch labels from trylock routinesWill Deacon2012-10-17
| | | | | | | | | | | | | The ARM arch_{read,write}_trylock implementations include unused backwards branch labels, since we don't retry the locking operation if the exclusive store fails. This patch removes the labels. Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* ARM: 7446/1: spinlock: use ticket algorithm for ARMv6+ locking implementationWill Deacon2012-10-17
| | | | | | | | | | | | | | | | | | | Ticket spinlocks ensure locking fairness by introducing a FIFO-like nature to the granting of lock acquisitions and also reducing the thundering herd effect when spinning on a lock by allowing the cacheline to remain in a shared state amongst the waiting CPUs. This is especially important on systems where memory-access times are not necessarily uniform when accessing the lock structure (for example, on a multi-cluster platform where the lock is allocated into L1 when a CPU releases it). This patch implements the ticket spinlock algorithm for ARM, replacing the simpler implementation for ARMv6+ processors. Reviewed-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Changes to ARM lockdown and LITMUS cycle counting code.Christopher Kenna2012-10-17
| | | | | | | | | | Try and fix the cycle counter on ARMv7 CPUs (unsuccessful). Use the multi-core timer on the ODROID-X to count cycles. Add lockdown register access to proc. Add proc options to disable prefetching for L1/L2 cache. Add test to lockdown.c to print the time to read in various WSSs. Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Fixed sched_trace records for state transitions.Jonathan Herman2012-10-15
| | | | This commit is dirty and will be cleaned up when blocking states are tested.
* Switched to common server model for tasks and crit entries.Jonathan Herman2012-10-15
|
* Fix lockdown (was using wrong lockdown address).Christopher Kenna2012-10-12
| | | | | | | Note: Highmem pages will need to be vmapped in the kernel, or we need to not use HIGHMEM pages. Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Ifdefed out arm code.Jonathan Herman2012-10-12
|
* DGL must be enabled for locking to occur.Jonathan Herman2012-10-12
|
* Merge remote-tracking branch 'litmus-rt/wip-mc' into reallitmusChristopher Kenna2012-10-12
|\
| * DGL makes all decisions using pull_hp when preemption is enabled.Jonathan Herman2012-10-12
| |
| * Make preemptive caches configurable.Jonathan Herman2012-10-12
| |
* | Fix lockdown.Christopher Kenna2012-10-12
| | | | | | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* | Fix cycle counters for ARM v7 CPUs.Christopher Kenna2012-10-12
| | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-omap2/board-omap4panda.c Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* | Basic lockdown functions like a page prefetching under lock method.Christopher Kenna2012-10-12
|/ | | | | | | | Conflicts: arch/arm/mm/cache-l2x0.c Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Added preemptive locking.Jonathan Herman2012-10-12
| | | | Currently is always preempting. This needs to be configurable via proc.
* Merge branch 'wip-mc' of ssh://rtsrv.cs.unc.edu/home/litmus/litmus-rt into ↵Jonathan Herman2012-10-12
|\ | | | | | | wip-mc
| * Fix 64-bit division in fpmath.hChristopher Kenna2012-10-11
| | | | | | | | | | | | | | | | Commit e6f51fb826ce98d436f445aae4eb9e9dba1f30e8 added some floating point support for LITMUS^RT, but it used 64-bit division that ARM does not support. Therefore, use the division functions from math64.h. Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
| * Fix compilation error on ARM platforms.Christopher Kenna2012-10-11
| | | | | | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
| * Fix variable name in cache-l2x0.cChristopher Kenna2012-10-11
| | | | | | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
| * ARM: 7080/1: l2x0: make sure I&D are not locked down on initLinus Walleij2012-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fighting unfixed U-Boots and other beasts that may the cache in a locked-down state when starting the kernel, we make sure to disable all cache lock-down when initializing the l2x0 so we are in a known state. Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Rabin Vincent <rabin.vincent@stericsson.com> Cc: Adrian Bunk <adrian.bunk@movial.com> Cc: Rob Herring <robherring2@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Reported-by: Jan Rinze <janrinze@gmail.com> Tested-by: Robert Marklund <robert.marklund@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
| * uncachable color control pageChristopher Kenna2012-10-11
| | | | | | | | Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
| * ARM: Fix bad merge bd1274dc005 (Merge branch 'v6v7' into devel)Russell King2012-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 774c096bf9e49 (ARM: v6/v7 cache: allow cache calls to be optimized) got dropped when the merge conflicts for moving the contents of the files in commit 753790e713d (ARM: move cache/processor/fault glue to separate include files) was fixed up in merge bd1274dc005 (Merge branch 'v6v7' into devel). This puts the change back. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* | Allow for concurrent blocking / user-space job completions.Jonathan Herman2012-10-10
|/
* Server tasks stay linked when client tasks release.Jonathan Herman2012-10-10
|
* Moved budget accounting into MC plugin.Jonathan Herman2012-10-09
| | | | This commit is broken as it allows locking tasks to early release.
* Integrated color chunking into the mc plugin.Jonathan Herman2012-10-09
|
* A task's blocking time no longer takes from its server's budget.Jonathan Herman2012-10-09
|
* Task completion times now based on user-space job execution times.Jonathan Herman2012-10-08
|
* Fixed scheduling overhead macros for mixed-criticality.Jonathan Herman2012-10-07
|
* Removed race condition in lock_acquired code.Jonathan Herman2012-10-07
|
* Correct spelling error in conditional include.Christopher Kenna2012-10-07
|
* Architecture dependent uncachable control page.Christopher Kenna2012-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | While working on an ODROID-X (Samsung Exynos4412 ARM Cortex-A9), I experienced non-determinism when reading and writing values to the LITMUS^RT control page. Writes to the control page from user- (kernel-) space where not always reflected in kernel- (user-) space. Neither restricting the task to run on a single CPU nor inserting general memory barriers (with mb()) fixed the problem. Mapping the control page as uncachable in both kernel and user space did fix the problem, which is what this patch does. Also, since vunmap() cannot be called from an interrupt context, I had to add a workqueue that unmaps and frees the control page when it is no longer needed. (On my system, exit_litmus() was called from interrupt context while the kernel reaped the task_struct.) Conflicts: include/litmus/rt_param.h litmus/litmus.c Does not make the color control page uncachable yet! Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
* Integrated group locking with mixed-criticality.Jonathan Herman2012-10-06
|
* fix debug message.Christopher Kenna2012-10-05
|
* Add more logging and a new proc entry.Christopher Kenna2012-10-05
|
* Coloring on the ARM.Christopher Kenna2012-10-05
|
* Add ifdef's for CONFIG_PLUGIN_MC and CONFIG_MERGE_TIMERS.Christopher Kenna2012-10-04
|
* Add include to fix compilation error.Christopher Kenna2012-10-04
|